INTERFACES / CLI

Your local platform, one command away.

ottto is the JSON-first control surface for the local platform - status, apps, setup, login, verify, doctor, fix, diagnostics, update, and uninstall from a terminal a human, CI job, or coding agent can drive.

zsh - install ottto
$ brew install ottto-ai/tap/ottto
The command is the install. Open source · no proxy · your data stays on your Mac.
Built for terminals and agents

Every lifecycle step is a flag away.

One binary owns the whole local-platform lifecycle, and every command speaks JSON. A human reads it, a CI job asserts on it, a coding agent parses it - same surface, same exit codes, no scraping logs.

  • Lifecycle commands. status, apps, setup, login, verify, doctor/fix, diagnostics collect, update check, uninstall - the full arc in one tool.
  • JSON-first output. --json on every command, and --json --watch streams NDJSON for live pipes and dashboards.
  • Stable, fixture-backed exit codes. Deterministic codes you can branch on in CI - covered by fixtures so they never drift.
  • Per-app scoping. --app codex, --app claude-code, and --app pi target one app without touching the rest.
  • Browser-claim-first setup. Setup claims through the browser with explicit approval boundaries - nothing is linked without a human OK.
zsh - ottto status
$ ottto status --json { "protocol_version": 11, "daemon": "running" } exit 0 · public JSON contract
INSTALL

Install in one line.

Pick your path. Homebrew keeps the CLI and daemon auto-updating, the one-line installer drops them in without a tap, or build the open-source runtime from source.

$ brew install ottto-ai/tap/ottto
$ curl -fsSL https://install.ottto.net/ottto-local-platform/releases/stable/latest/install-macos.sh | bash
Build from source ↓ View the open-source runtime
Apple Silicon · macOS Sonoma+
Terminal-aware

Runs in your terminal. Reads cleanly in any agent.

Works across Ghostty, iTerm2, kitty, alacritty, and Terminal.app. JSON-first output for any agent host - the same NDJSON stream a human watches is the one your orchestrator parses.
Ghostty iTerm2 kitty alacritty Terminal.app

One command in. Full picture out.

Install the CLI, claim your accounts through the browser, and reconcile every agent, machine, and credit into one trusted number - scriptable end to end.

Apple Silicon · macOS Sonoma+ · open source · no credit card to start