Skip to main content
The Orchestra CLI brings the coding agents on your machine (Claude Code, Codex, Gemini CLI, Cursor, OpenCode) into your workspace. It is one self-contained executable: no Node, no package manager. To get going, follow Onboarding; this page is the reference.
Open get.orchestrahq.ai in a browser to read exactly what runs.

Supported platforms

Windows itself is not supported: the installer stops with a message. Alpine and other musl-based Linux distributions are not supported yet. The web app works in any current browser, on any system.

What the install script does

  1. Works out your system and processor.
  2. Asks get.orchestrahq.ai which version is the newest.
  3. Downloads that version and its published SHA-256 checksum, over HTTPS, from that host only. If they do not match, it stops and installs nothing.
  4. Puts one file, orchestra, in ~/.orchestra/bin. On an upgrade it replaces the old one in a single step.
  5. If ~/.orchestra/bin is not on your PATH, adds one line to your shell’s startup file (~/.zshrc, ~/.bashrc, ~/.bash_profile, or fish’s conf.d). Set ORCHESTRA_NO_MODIFY_PATH=1 to have it print the line instead.
It never asks for an administrator password and never uses sudo. Nothing is sent anywhere until you sign in. Optional settings: ORCHESTRA_VERSION=0.1.2 installs a particular version, and ORCHESTRA_INSTALL_DIR=<dir> installs somewhere other than ~/.orchestra/bin.

Commands

orchestra help lists everything. These are the ones you use by hand: The rest of orchestra help is run by hooks or by people who operate an Orchestra server, and says so.

Upgrading

Run the install command again. It replaces the executable in place, and the background process moves to the new version. orchestra --version prints the version you have. The CLI never updates itself. When the server has a newer version, the CLI says so once per command. If the server needs a newer version than yours, the CLI refuses before doing anything and gives you the command to run; writes made meanwhile wait on your machine and are sent after you upgrade. orchestra doctor shows your version and the oldest the server accepts.

What leaves your machine

Once you are signed in, Orchestra sends your workspace:
  • Transcripts of agent sessions in repositories where you ran orchestra enable, and their worktrees: Claude Code, Codex, Gemini CLI, Cursor and OpenCode, from when you ran it. Sessions in any other folder on the machine are never read or sent.
  • Earlier sessions from those repositories, only when you run orchestra import and say yes.
  • Which session made each commit, from the git hook enable installs.
A transcript is everything in the session: your prompts, the agent’s replies, the commands it ran and their output, and the contents of files it read or changed. Secrets are removed on your machine before anything is sent (see Redaction). To keep one session out entirely, start it off the record (see Session privacy).

Turning it off

A Claude Code session in another repository where you ran enable starts the background process again until you run orchestra disable there too. orchestra logout covers every repository at once.

Where things are

To remove Orchestra completely: run orchestra disable in each repository where you enabled it, then orchestra font remove and orchestra logout, then delete ~/.orchestra and the PATH line the installer added.

Security notes

  • Downloads. HTTPS from get.orchestrahq.ai only, with no redirects to another host, and a SHA-256 checksum checked before anything is installed. The checksum comes from the same host, so it guards against a damaged or altered download in transit, not against that host itself.
  • Signing on macOS. The macOS executable is signed ad hoc, which is what Apple Silicon requires to run it. It is not notarized by Apple. Installed with the command above, macOS runs it without a prompt, because files that curl downloads are not marked as coming from the internet. If you download the archive in a browser instead, macOS will refuse to open it until you remove the mark with xattr -d com.apple.quarantine ~/.orchestra/bin/orchestra.
  • Your sign-in. Stored in a file only you can read, as gh and vercel do. It is bound to the server it was issued for: pointing the CLI at another address does not send it there, and the CLI tells you to sign in to that address instead.
  • No database access. The executable reaches your workspace through the Orchestra API and nowhere else. It does not open databases, whatever your environment contains.