outcrawl login opens a browser to sign in and approve the device once; after that the CLI stays signed in. Running in CI or anywhere headless? Set OUTCRAWL_API_KEY instead, see installation.
Installation
Install on macOS, Linux or Windows, sign in or configure a key.
Agent
Submit, watch and manage an agent run from the terminal.
Reference
Every command, generated from the same registry as the API.
Or just run outcrawl
- Type a task and press enter, and an agent run starts. Its steps appear as it takes them (the pages it opens, what it reads), then its answer and what it cost.
escasks before it stops the run; work already done is billed. /scrape <url>shows the page as text you can read in the terminal./search <query>numbers the results, and/scrape 2reads the second one./crawl <url>lists pages as they arrive;escstops the crawl./budget 5caps the agent runs you start next at 5 credits;/budget offclears it./controlgives you the live browser of a running agent run, to take over a step yourself./runs,/usageand/accountshow your recent runs, this month’s spend by day and by capability, and who is signed in with which keys.
tab completes a command, the arrow keys bring back earlier prompts, /help lists every command and key, and q on an empty prompt quits. Set NO_COLOR and it draws in plain monochrome.
The credits at the top refresh after each action finishes. Every figure is one your account already reports; the app never works one out for itself.
Every other invocation is unchanged. Pipe
outcrawl scrape from a script or CI and stdout is still exactly the API’s body; without a real terminal on both stdin and stdout, a bare outcrawl still prints its command list to stderr and exits 2, exactly as it always has.The commands are the registry’s, not the binary’s
There is no hand-written command list. Every command comes from the same 46-row capability registry that drives the REST API and the MCP server: 44 of the 46 rows carry a CLI command, and a new capability does not compile into the binary until it has one. The two that carry none aresessions.export and secrets.intent.