Skip to main content
Agents are the richest command family in the CLI, matching the richest family in the registry: eight routes behind one task.

Submit a run

--budget is a hard ceiling on what the run is billed. Without it, the CLI applies a sane default rather than refusing outright; name your own once a task is worth more than that. The second search cost 7.4–9.2 credits on 2026-10-03 (n=3), so 20.00 is more than twice that. Every run starts fresh: there is no command that continues a previous run, so write each task to stand on its own. Submitting returns an id in milliseconds, the run itself can take hours, so the next commands are how you follow it.

Watch it

status is safe to poll as often as you like, it is a row read, not a browser. events streams, so it is the command for watching a run live rather than sampling it.

Manage it

control is the way to step in for something you would rather do yourself, a login you will not automate, a form only you should fill: the browser stays open and control --release hands it back on whatever page you left it on. No command sends a running agent new instructions; cancel and resubmit for that. answer is for a run that stopped to ask: when it needs something only you know, its status is paused and pause.question in agent status --json holds what it asked. Answer it and the run carries on from where it stopped; left unanswered, the question expires and the run carries on without it. A card, a billing profile or a security code is never an answer: send it with agent secrets add.

Attach a file

Hands a file to the run so it can attach it to a page. The file is destroyed when the run ends, on every ending, and there is no matching download command, results is how a run’s own output comes back.

Scripting: the contract every command keeps

Every command in this CLI, not only agent, keeps the same contract whether a person runs it or a script does, unchanged by the colour, charts and prompts a terminal now gets (Reference):
  • --json on any command puts exactly the API’s response body on stdout, one line, nothing else mixed in: no banner, no colour, no “next step” hint.
  • Four exit codes: 0 worked, 1 the call was made and did not work, 2 the invocation was wrong and nothing was sent, 3 the API refused (auth, plan or tenant scope).
  • Nothing ever prompts without a real terminal. A missing id, a secrets create value with nothing to read it from: each is a usage error on stderr with the exit code above, never a hang waiting on input that cannot arrive.
  • NO_COLOR, set to anything, turns off every colour code even when stdout is a real terminal.
  • A secret is piped, not typed, in a script:
outcrawl agent is no exception: run from CI with --json, it behaves exactly as it always has.