continuum is the terminal client. It speaks the same wire protocol as the Mac, iPhone, and web apps, so a session you start from a shell shows up on your phone, and a session your Mac started is one continuum sessions away.
Everything it prints as a human table also prints as machine JSON with --json, which is the point: this is the client you script against.
The CLI is in beta. It is newer than the Mac and iPhone apps and still moving; expect the occasional rough edge.
Install
The installers are user-local — nosudo, no system directories touched. They resolve the newest CLI release, verify the archive against the checksums published with it, and atomically replace any existing binary.
- macOS · Linux
- Windows
PATH. Both tell you to add the install directory if it is not already there.
Six archives ship per release, covering macOS, Linux, and Windows on both x64 and arm64. Windows gets a .zip; macOS and Linux get a .tar.gz so the executable bit survives.
Updating
Automatic updates are deliberately off for the same reason. Updating is an explicit opt-in:CONTINUUM_UPDATE_MINISIGN_PUBLIC_KEY makes the updater require a minisign signature, and --require-signature makes it fail closed.
Connecting to a daemon
Every command resolves a daemon the same way. Direct HTTP defaults to127.0.0.1:21731 — the canonical port for the Mac app’s daemon and for a headless continuum-agent.
A missing token gives you a clear
unauthorized error rather than a silent failure.
Named profiles
~/Library/Application Support/continuum/config.json on macOS, ~/.config/continuum/config.json on Linux, %AppData%\continuum\config.json on Windows). The file never accepts or stores bearer tokens. Explicit flags always beat a profile’s defaults.
Reaching a host that isn’t directly routable
--relay carries every request over the encrypted relay instead of direct HTTP — the same ChaCha20-Poly1305 channel the web app and iPhone use. The credential is the daemon’s own relay-pairing.json: on the daemon’s own box, bare --relay finds it; from another machine, copy it over and point at it with --relay-pairing <path> (which implies --relay).
Guard that file like a credential — it is one. One limit worth knowing: a relay request must fit a single 32 KiB frame, so a very large prompt body should go over the direct path.
Commands
Sessions
session is the canonical group; the older top-level verbs remain as aliases.
Session creation is transport-only — the daemon does every process, repository, and worktree operation. If a provider has more than one account and you name none, creation fails rather than quietly billing the wrong subscription.
Review and status
Because every one of these takes
--json, they compose:
Approvals and questions
--confirm-destructive. questions handles the structured AskUser forms an agent raises mid-run.
Frontier groups
Run the same prompt across two or three provider/model/effort slots and keep the best answer:pick-winner continues from one child and archives the others, so it requires --yes. turn-winner records a per-turn preference without destroying anything.
Cross-provider memory
continuum memory stores durable learnings — conventions, decisions, debugging workflows — per repo or globally on the daemon, then materializes them into every new session’s CLAUDE.md / AGENTS.md so every provider reads them natively. No single underlying CLI can do that.
flush sends transcript text to an LLM for summarization. Storage is daemon-private (<dataDir>/memory/, mode 0600) and bounded so materialization never blows the agent’s context. A repo you never add memory to is never written to.
The TUI
The transcript renders markdown, reasoning, bounded tool calls and results, plans, todos, sources, artifacts, and structured question forms. Pending permissions arrive as a first-class option card; a destructive choice needs a second
Enter. /remember and /flush route to memory rather than to the provider. Narrow terminals hide the sidebar and keep the transcript usable.
Shell completions
The daemon behind it
The CLI ships out of the same Go codebase ascontinuum-agent, the headless daemon that hosts sessions on a box. They are two separate executables with different jobs:
continuumis the client — it drives a daemon over HTTP or the relay, and runs everywhere.continuum-agentis the daemon — it owns the processes, the repos, and the worktrees.
continuum-agent on its own and it becomes an execution host your other clients can target — see Remote devices.