| --goal "…" | The task, in plain language |
| --url <url> | Start page |
| --task <file.json> | Task specification file (see Task file & boundaries) |
| --provider typesafe|keyword | Decision provider |
| --llm openrouter|openai|custom|none | Stronger model for ESCALATE and planning |
| --llm-model <id> | Model id for that provider |
| --llm-api-key <key> | Credential for that provider, instead of exporting it |
| --fast typesafe|openrouter|keyword | Which fast path to use (default: typesafe) |
| --fast-model <id> / --fast-api-key <key> / --fast-base-url <url> | Override the fast path |
| --llm-base-url <url> | Custom endpoint (Azure, gateways, local servers) |
| --planner-model/-api-key/-base-url | Same, for the planner role |
| --model <id> | Override the fast-path model id |
| --browser chrome|chromium|msedge | Browser channel |
| --browser-extension | Drive your own Chrome through the loaded extension |
| --headless | Run without a visible window |
| --profile <dir> | Persistent browser profile |
| --cdp <url> | Attach to an existing Chrome (e.g. http://127.0.0.1:9222) |
| --policy <file.json> | Policy configuration file |
| --stop-before "…, …" | Stop at the requested boundary instead of doing it |
| --max-steps <n> | Step budget for this run |
| --screenshot off|on-failure|always | Screenshot policy (default on-failure) |
| --yes | Auto-approve approval-required actions |
| --no-human | Disable human help (unattended) |
| --json / --quiet | Machine-readable result / summary only |