orca CLI was built to be driven by scripts and agents, not just humans. Full reference lives in the okikorg/orca-cli README; this page is the machine contract.
Install
~/.local/bin.
Output contract (gh-style)
--jsonon any command: machine-readable JSON on stdout. Nothing else is ever printed to stdout in this mode.- Streaming commands (
orca runs tail,orca chat) emit NDJSON: one JSON object per line, exiting when the stream ends. - Without
--json, a non-TTY stdout gets plain tab-separated lines; a TTY gets rich output. - All errors and hints go to stderr.
Exit codes
Zero-config CI
No config file needed:orca context use prod) live in ~/.config/orca/config.json, kubectl-style; ORCA_CONTEXT selects one per invocation. Precedence everywhere: flag, then environment, then config file, then baked-in production defaults.