CONFIG REFERENCE (testronaut.config.js)
{
"provider": "openai",
"model": "gpt-5-mini",
"initialized": true,
"outputDir": "missions/mission_reports",
"projectName": "name_of_your_repo",
"maxTurns": 20,
"sessionToken": "*******************",
"mfaName": "github-test-mfa"
}
provider: LLM Provider (openai, gemini, etc...)
model: specific model to use for test runs
reporter: json, html
outputDir: artifact/report location, including screenshots
maxTurns: number of agent actions given per mission to accomplish a goal (minimum 5, maximum 200 - any values beyond these bounds are currently clipped automatically by the CLI to avoid overruns and to better ensure performance)
sessionToken: used for cli comands with authentication needed (i.e. testronaut upload)
mfaName: optional default MFA nickname for automated MFA code retrieval.
Automated MFA
Automated MFA uses sessionToken plus a stored MFA nickname to retrieve a current TOTP code from the Testronaut API.
Default nickname:
{
"sessionToken": "eyJ...",
"mfaName": "github-test-mfa"
}
Nested form:
{
"sessionToken": "eyJ...",
"mfa": {
"nickname": "github-test-mfa"
}
}
Creating or updating MFA entries is a premium feature. Existing stored MFA entries can still be listed and retrieved if an account downgrades.
See Automated MFA Codes for CLI, config JSON, and mission text examples.
Human input
Controls whether the agent can pause and prompt the terminal user for short verification codes (TOTP, SMS, email codes).
- Config block:
"humanInput": {
"enabled": true,
"timeoutSeconds": 60
} - Env overrides:
TESTRONAUT_HUMAN_INPUT(true/false)TESTRONAUT_HUMAN_INPUT_TIMEOUT_SECONDS(number)
enabled defaults to true. Set to false for headless CI runs. Timeout is clamped to 5–300 seconds.
Accepted aliases: humanInputEnabled, allowHumanInput, humanInput.timeout, humanInputTimeoutSeconds, humanInputTimeout.
DOM list trimming
dom.listItemLimit/dom.listLimit/domListLimit(number 0–100,"all", or"none")- Env override:
TESTRONAUT_DOM_LIST_LIMIT - Default:
3items per list."all"keeps everything but can massively increase tokens and may break flows.
Resource guard (list/table completeness)
Ensures detected resources (documents/files/rows) are fully processed before reporting success.
- Config block:
"resourceGuard": {
"enabled": true,
"hrefIncludes": ["/document/", "/file/", "/download", "/attachment/"],
"dataTypes": ["document", "file", "item", "row"]
} - Env overrides:
TESTRONAUT_RESOURCE_GUARD(true/false)TESTRONAUT_RESOURCE_HREF_PATTERNS(comma-separated)TESTRONAUT_RESOURCE_DATA_TYPES(comma-separated)
enabled defaults to true. Adjust patterns to fit your app. Set to false to disable.
Key env vars (summary)
TESTRONAUT_DOM_LIST_LIMIT— cap list items (0-100,all,none)TESTRONAUT_RESOURCE_GUARD— enable/disable resource guardTESTRONAUT_RESOURCE_HREF_PATTERNS— comma list of href substringsTESTRONAUT_RESOURCE_DATA_TYPES— comma list ofdata-typevalues