Skip to main content

Docker Image Envrionment Variable Reference

MCP Variables

VariableDescriptionDefault
ENABLE_PLAYWRIGHT_MCPEnable Playwright MCPtrue
FIREWALL_DEBUGEnable firewall debug logsfalse
ENABLE_EMAIL_MCPEnable Email MCPtrue
MAIL_HOSTThe SMTP host to send email tolocalhost
MAIL_PORTThe SMTP port to send email to25
MAILHOG_URLThe Mailhog URL to check received emailshttp://localhost:8025
EMAIL_PERM_FILEThe email permission file/agent/instructions/email-permissions.yaml

ENABLE_PLAYWRIGHT_MCP should always be true for the agent to work properly.

We recommend to keep ENABLE_EMAIL_MCP=true to restrict the agent's ability in email sending. Please update Tools section in /agent/config/system.prompt.md if turn off the email mcp.

Agent Variables

ParameterDescriptionDefault
AI_PROVIDERAI provider name: anthropic, openai, google / google-gemini / gemini, deepseekanthropic
AI_MODELAI model name
AI_API_KEYAI API key
AI_MAX_TOKENSMax tokens for a single response8192
AI_TEMPERATURETemperature (0.0 for strict QA/Logic, 0.7 for creative)0.0
GLOBAL_CONTEXTPath to a JSON file of global variables/URLs injected into the system prompt/agent/instructions/global_context.json
EXTRA_INSTRUCTIONPath to a Markdown file whose content is appended to the system prompt; ignored if the file does not exist/agent/instructions/extra-instructions.md
TEST_RUN_TIMEOUTMaximum total duration (in seconds) for the entire test run before it is stopped with status timeout7200 (2 hours)
STEP_TIMEOUT_SECMaximum duration (in seconds) the agent may idle without receiving an LLM response per step before the task is marked failed120 (2 minutes)
MAX_SNAPSHOTS_HISTORYMaximum number of recent browser_snapshot tool results to keep in LLM message history; negative values are treated as 2; 0 blocks direct browser_snapshot calls at runtime (use take_verification_snapshot instead)2
CONTEXT_COMPRESSIONEnables message compression flow; evaluates to true only when set to true (case-insensitive)false
COMPRESSION_DEBUGEmits one compression debug log right before the next LLM call after a compression; evaluates to true only when set to true (case-insensitive)false
COMPRESSION_DEBUG_INCLUDE_REQUESTWhen COMPRESSION_DEBUG=true, logs the compressed messages (summary and continue prompt) instead of the compact summary modefalse
COMPRESSION_THRESHOLD_MINInitial input token threshold for compression eligibility; non-positive values fall back to 12500. Requires CONTEXT_COMPRESSION=true.12500
COMPRESSION_THRESHOLD_LEAPStep size for advancing the compression threshold after each compression; non-positive values fall back to 5000. Requires CONTEXT_COMPRESSION=true.5000
LARGE_CONTENT_THRESHOLDUTF-8 byte threshold for large content guards in API logging and snapshot retention; non-positive values fall back to 1000010000
RATE_LIMIT_RETRYMaximum number of allowed rate-limit retries per task; negative values allow unlimited retries1
MAX_ITERATIONSMaximum number of LLM call iterations per task before the loop is forcibly stopped300
ENABLE_API_LOGGINGEnables LLM API request/response logging to /agent/outputs/api-log.json; evaluates to true only when set to true (case-insensitive)false
MAXIMUM_RESTRICTED_TOOL_USAGEMaximum number of cumulative calls to restricted tools allowed between verified progress checkpoints. When the count exceeds this limit the task fails immediately. 0 or negative values disable the guard. The counter resets to 0 at the start of each task.3