Orca
5 min read
Orca is an open-source ADE ("Agent Development Environment") for running several AI coding agents in parallel. Instead of one agent working on one checkout, every task gets its own git worktree, its own agent terminal, and its own browser tab — so you can fan a single prompt across five agents, compare the diffs, and merge the winner.
It is a desktop app (Electron + TypeScript + React) built by Stably AI, MIT-licensed, with companion apps for iOS and Android. It does not provide models or a subscription of its own: you bring agents you already have (Claude Code, Codex, opencode, Pi, crush, …) and Orca orchestrates them locally.
Install
sh
brew install --cask stablyai/orca/orca # macOS
yay -S stably-orca-bin # Arch (AUR); -git builds from source
Direct builds for macOS (ARM64/Intel), Windows (.exe) and Linux (AppImage) are on the releases page. orca serve runs it headless on a Linux server. The mobile companion pairs with the desktop app to monitor agents and send follow-ups from a phone.
Worktrees
The worktree is Orca's unit of work. Creating one asks for a task name and a start-from ref (base branch, local branch, commit SHA, or remote branch), and optionally links a GitHub/GitLab/Linear/Jira issue. Creation is async — the dialog closes while git fetch and git worktree add run in the background.
Agents
Any CLI agent works — if it runs in a terminal, it runs in Orca. 40+ are preconfigured, including Claude Code, Codex, Grok, Cursor CLI, GitHub Copilot, opencode, Pi, Amp, Cline, Continue, Devin, Goose, Droid, Kimi, Qwen Code, Mistral Vibe and Rovo Dev. Custom agents can be added by pointing Orca at their command ("bring your own agent").
• Usage tracking — live view of Claude and Codex usage and rate-limit resets, with account hot-swapping for multiple subscriptions.
• Session history & restore — sessions are resumable per worktree.
• Hibernation — idle background agent terminals are paused to save memory after a configurable window (default 30 min) and auto-resumed with the agent's own resume command when the worktree is reopened. Requires the agent to support resumable sessions and to be genuinely idle (finished, not awaiting input, no keystrokes since).
Review & shipping
• Diff viewer with Annotate AI Diff — drop inline comments on diff lines and ship them back to the agent as a prompt.
• Attribution — which agent wrote what.
• Commit, push and open a PR inline.
• Native GitHub, GitLab, Linear and Jira integration: browse PRs, issues and boards in-app and open a worktree straight from a ticket.
Editor & environment
Monaco (VS Code) editor with autosave everywhere, native file explorer, Quick Open / Jump Palette across worktrees, files, agents and commands, and rich previews for Markdown, Mermaid, PDFs and images. Files and images can be dragged directly into an agent prompt.
Terminals are Ghostty-class: WebGL rendering, infinite splits, scrollback that survives restarts.
Each worktree gets its own embedded Chromium tab. Design Mode lets you click any element in that real browser window and send its HTML, CSS and a cropped screenshot into the agent's prompt. There is also an embedded iOS Simulator agents can drive.
SSH worktrees run the agent on a remote box with full file editing, git and terminals, including auto-reconnect and port forwarding.
Orca CLI
Agents can drive Orca itself, which is what makes multi-agent workflows scriptable. Most commands take --json and a --worktree selector.
sh
orca worktree ps # list worktrees
orca worktree create ... # new worktree, optionally linked to an issue
orca worktree current # which worktree am I in
orca worktree set / rm
orca terminal list # terminals in a worktree
orca terminal create / split
orca terminal send "cmd" --enter # type into a terminal
orca terminal read # capture output
orca terminal wait # block until the terminal is ready
orca file open / diff / open-changed
orca goto <url> # embedded browser
orca snapshot # page state
orca click / fill / screenshot
orca set device # device profile
orca emulator list / attach # drive the iOS Simulator
orca emulator tap / type / gesture / rotate / kill
orca tab profile # browser profiles
orca automations # cron-style scheduled runs
orca artifacts share
orca status --json # what Orca is doing right now
orca skills get / install / update # reusable agent skills
orca terminal send + wait + read is the primitive behind agent-to-agent handoff: one agent starts another in a fresh worktree and blocks on its result.
Computer Use (beta)
The orca computer subcommand lets agents operate native desktop apps outside the embedded browser: list-apps and get-app-state (accessibility tree) to look, then click, set-value, type-text, press-key, hotkey, paste-text, scroll, drag, perform-secondary-action to act. orca computer capabilities and orca computer permissions report what is available and what is still ungranted.
The pattern is snapshot → act → snapshot: element indexes are scoped to the latest get-app-state and may be sparse, so state must be re-read after every action. Prefer semantic actions (click, set-value) over raw keystrokes — they target accessibility elements and survive UI changes. Requires Accessibility permission, plus Screen Recording on macOS, granted to Orca Computer Use in System Settings.