olympus is a terminal client for the Olympus Agent. It signs in through your
browser, then runs scripted turns from a shell, from CI, or from inside a
host coding agent such as Claude Code, Codex, or Cursor. The agent itself
still runs on Olympus’s servers. The CLI streams its replies and lets you
approve or deny what it wants to do.
This page covers installing the CLI, signing in, running it headlessly, and
setting it up inside a host coding agent. The full interactive terminal
session arrives in a later update; this page will grow to cover it then.
Install
~/.olympus/bin. No Node.js
install is required. macOS (Intel and Apple Silicon, including under
Rosetta) and Linux (x64 and arm64) are supported.
If ~/.olympus/bin isn’t already on your PATH, the installer prints the
line to add:
Sign in
https://app.etho.net/cli/authorize in
your browser (or prints the URL if it can’t: olympus login detects an SSH
session automatically and skips trying). Enter the code, pick a workspace,
and the CLI finishes signing in once you approve it. Signing in needs an
Olympus account with an active paid subscription on the workspace you
choose.
Use --no-browser to always print the URL instead of opening it. For CI or
other non-interactive hosts, mint a personal API key from Settings > API
keys in the app instead and pipe it in:
OLYMPUS_TOKEN in the environment overrides everything stored on disk. That’s
useful for CI, and for running as a different workspace than the one you’re
signed into locally.
Run it headlessly
run and its -p alias run one turn and print the result, without ever
prompting for input. Use /<workflow-name> to run a saved workflow and
$<skill-name> anywhere in the text to attach a skill:
--json is what a host coding agent should use. See
Approvals and exit codes below for the contract.
An unattended run can use default, auto, or plan mode, never full:
full lets the agent act without approval, and a script shouldn’t be able to
grant itself that.
Approvals and exit codes
The Olympus Agent asks for approval before anything that sends, publishes, or deletes something. A headless run never makes that call for you. It stops and reports the approval instead:run and -p exit with:
approve and deny exit with:
A pending send approval expires 24 hours after it’s created; an expired or
already-decided approval is reported, not re-run.
olympus approve reads an
edited message body from a file with --edit-file <path>, for the rare case
where a send approval’s edited text belongs in the approval itself rather
than the original message.
Set up a host coding agent
olympus run --json.
By default the config file holds the literal token (and is written 0600,
readable only by you). Pass --env to reference OLYMPUS_TOKEN instead:
Getting help
Every command documents its own flags and exit codes:olympus whoami: it shows exactly
who’s signed in, to which workspace, and when that token expires.