CLI Reference
testronaut --initβ
Scaffold missions and config.
testronaut --turns=<n>β
Override max turns for this run (e.g., --turns=30).
testronaut --tag=<tag>β
Run missions matching a tag. Repeat the flag for multiple tags; this is the recommended syntax because each value is unambiguous to the shell.
testronaut --tag authentication --tag smoke
testronaut --tags=<tag,...>β
Compact comma-separated form. Lists containing spaces must be quoted:
testronaut --tags authentication,smoke
testronaut --tags "authentication, smoke"
Tags themselves cannot contain spaces. Singular and plural forms may be repeated or combined. Use the reserved untagged filter to select missions without tags. Selection is ignored when mission filenames are explicitly provided.
testronaut --tag-match=<any|all>β
Choose OR (any) or AND (all) tag matching. The default is any.
testronaut --add-tag=<tag>β
Add one tag to every executed main mission. Repeat for multiple tags:
testronaut --add-tag nightly --add-tag full-test-run
testronaut --add-tags=<tag,...>β
Compact comma-separated form. Quoted whitespace around commas is accepted. CLI additions combine with addTags in configuration.
testronaut --provider=<n>β
Override the provider used for this run: openai, gemini, or anthropic (claude is also accepted). This overrides the project config. Pair it with a model from that provider, for example testronaut --provider=anthropic --model=claude-sonnet-5.
testronaut --model=<n>β
Override model used for this run (e.g., --model=gpt-5.6-terra). Note that this override should use the same LLM provider.
testronaut [mission]β
Run discovered missions, or run one or more .mission.js/.mission.ts files by name or path. Paths support shell tab completion:
testronaut login.mission.js
testronaut missions/login.mission.js
testronaut missions/checkout.mission.ts
Mission files may use import/export syntax without adding "type": "module" to the project package file. A missing filename produces a suggestion when a close discovered name exists. A missing executeMission export or load failure exits nonzero.
testronaut listβ
List discovered mission files and their exported tags without executing them.
testronaut list
testronaut configβ
Print the effective provider, model, report directory, turn budget, tag settings, screenshot setting, authentication presence, and the source of overridden values. Session tokens are never printed.
testronaut config
testronaut config --json
testronaut loginβ
Manage authentication.
testronaut upload [report]β
Upload the newest JSON report from the configured outputDir, or select a report by run ID, filename, or direct path:
testronaut upload
testronaut upload run_1788745106444
testronaut upload run_1788745106444.json
testronaut upload artifacts/reports/run_1788745106444.json
Only screenshots referenced by that report are uploaded; unrelated images are ignored.
testronaut --dry-runβ
Resolve configuration, discovery, tags, mission exports, and the execution selection without launching a browser or calling an LLM.
testronaut --dry-run
testronaut checkout.mission.ts --dry-run
Screenshot controlsβ
--no-screenshotsremoves the screenshot tool and disables automatic failure screenshots for a mission run.--no-upload-screenshotsuploads only report JSON when used withtestronaut upload.
Output controlsβ
--jsonsuppresses informational logs and emits machine-readable JSON for supported commands and run summaries.--quietsuppresses informational logs while preserving errors and exit status.
The flags can be combined for automation, for example:
testronaut --tags authentication --json --quiet
Machine-readable output does not disable screenshots. Use --no-screenshots explicitly when capture is not wanted.
testronaut serveβ
View the most recent HTML report from the configured outputDir.
testronaut viewβ
View the most recent html report. Alias for serve.
To make a local report available in Mission Control, upload it separately with testronaut upload.
testronaut --no-human-inputβ
Disable the human-in-the-loop verification prompt for this run. Useful for automated/CI environments where no one is at the terminal. When disabled, any mission instruction that would trigger a user prompt will fail immediately instead of waiting.
testronaut --human-input[=<bool>]β
Explicitly enable or disable human input for this run (e.g., --human-input=true, --human-input=false). --no-human-input is shorthand for --human-input=false.
testronaut --human-input-timeout=<s>β
Override the number of seconds the agent waits for a user to enter a verification code before timing out (e.g., --human-input-timeout=120). Accepted range: 5β300 seconds. Default: 60.
testronaut <mission> -o mfa=<nickname>β
Tell the automated MFA tool which stored MFA nickname to use for this run.
testronaut login.mission.js -o mfa=github-test-mfa
The CLI uses the sessionToken from testronaut-config.json and calls the Testronaut API to retrieve the current TOTP code. Creating or updating stored MFA entries is a premium feature, but reading existing MFA entries does not require premium access if an account later downgrades.
For the full setup flow, see Automated MFA Codes.