Orca

An open-source Agent Development Environment that orchestrates fleets of parallel AI coding agents — Claude Code, Codex, Gemini and more — each running in its own isolated git worktree.

12.1Kstars
815forks
MIT License
TypeScript

Orca is a desktop application built on Electron that reimagines the IDE for an era of agentic software development. Rather than treating AI as a single chat panel bolted onto an editor, Orca treats agents as first-class citizens: you can launch a dozen simultaneously, each in its own isolated git worktree, track their progress in a unified dashboard, and review or annotate the diffs they produce without ever leaving the app.

The core abstraction is the worktree — every agent gets its own branch and working copy of the repository, so multiple agents can solve the same problem in parallel without stepping on each other. You send the same prompt to five agents, let them race, then diff and merge whichever result wins. This workflow is supported by native GitHub and Linear integrations, so you can open a worktree directly from a task or pull request inside Orca.

Orca ships with a Ghostty-class terminal engine built on WebGL rendering, infinite terminal splits, and scrollback that survives application restarts. An embedded Chromium-based browser includes a Design Mode feature that captures any UI element’s HTML, CSS, and a cropped screenshot and injects them directly into an agent prompt — closing the loop between visual design and code generation.

The application also has a CLI (orca binary) that agents can use to script Orca itself: creating worktrees, taking browser snapshots, and filling forms. A mobile companion app for iOS and Android lets you monitor running agents and send follow-up instructions from anywhere, with push notifications when an agent completes or blocks.

What You Get

  • Parallel git worktree orchestration — fan a single prompt across multiple agents, each working in an isolated branch, then compare diffs and merge the best result
  • WebGL-rendered terminal with infinite splits, persistent scrollback across restarts, and Ghostty-class ligature and font rendering
  • Embedded Chromium browser with Design Mode — click any UI element to inject its HTML, CSS, and screenshot directly into an agent prompt
  • SSH remote worktrees — run agents on a powerful remote machine with full file editing, git, terminal access, auto-reconnect, and port forwarding
  • Native GitHub and Linear integrations — browse PRs, issues, and project boards inside Orca and open a worktree from any task in one click
  • Annotate AI diffs — drop inline comments on any diff line and feed them back to the agent without leaving the review panel
  • Mobile companion app (iOS and Android) — receive push notifications when agents finish, and send follow-up prompts from your phone
  • Orca CLI — script every workflow (worktree create, snapshot, click, fill) so agents can drive Orca itself as a tool

Common Use Cases

  • Parallel solution exploration — send the same feature request to five agents simultaneously and merge whichever worktree produces the cleanest implementation
  • Remote development on powerful hardware — connect Orca to a beefy cloud VM or a Raspberry Pi over SSH and run resource-heavy agent tasks without taxing a laptop
  • Visual UI iteration — use Design Mode to click broken layout elements in the embedded browser and deliver precise context to an agent for targeted CSS or component fixes
  • Task-driven development — open a Linear issue or GitHub PR directly in Orca, spawn a worktree, let an agent implement the solution, annotate the diff, and merge, all without leaving the app
  • Multi-account rate-limit management — hot-swap between Claude or Codex accounts as usage limits reset, keeping agents running continuously across a long build session
  • Mobile oversight of long-running tasks — kick off a large refactor, step away from the desk, and monitor progress and receive completion alerts on your phone

Under The Hood

Architecture Orca is structured as a multi-process Electron application with a clear separation between the main process, a lightweight relay daemon, the renderer, and the CLI binary. The main process owns native OS integrations — power management, auto-update, file watching via @parcel/watcher, and PTY lifecycle — while keeping agent-specific logic in focused service modules. A JSON-RPC framed relay daemon handles all remote operations: it is deployed to SSH targets via SCP, maintains PTY sessions through disconnects with a configurable grace period, and reconnects transparently when the app relaunches. The renderer is a React 19 single-page app communicating with the main process over Electron’s IPC bridge using a typed RPC call-queue abstraction. This layered design means that local and remote execution share the same handler interfaces, making SSH worktrees a first-class execution target rather than an afterthought.

Tech Stack The application is written in TypeScript throughout, targeting Node 24 and Electron 42. The renderer uses React 19 with Zustand for state management, Tailwind CSS v4 for styling, and shadcn primitives backed by Radix UI. Terminal rendering is powered by a forked build of xterm.js with the WebGL addon, ligatures, and unicode support. The Monaco editor (the same core as VS Code) handles file editing. The embedded browser is a Chromium webview managed via the agent-browser package. SSH connectivity is implemented with the ssh2 library. The relay daemon is a standalone Node script with no Electron dependency, communicating over framed JSON-RPC on stdin/stdout or a Unix domain socket. Build tooling uses electron-vite, Vite 7, pnpm, and oxlint with oxfmt for formatting.

Code Quality The codebase shows extensive test coverage with well over a thousand unit test files and an additional 99 Playwright end-to-end specs covering terminal rendering, SSH performance, agent session lifecycle, and computer-use scenarios. Tests are written with Vitest and include performance budget gates for terminal latency. The shared module follows a strict domain-naming convention — every file is named after its concrete concern (agent-awake-service.ts, worktree-ownership.ts) — and inline comments consistently explain non-obvious constraints using a // Why: convention established in the contributing guidelines. Linting is enforced by oxlint with switch-exhaustiveness checks, React Doctor rules, and localization-coverage audits run on every commit via husky and lint-staged.

What Makes It Unique Orca’s most distinctive technical investment is treating git worktrees as the fundamental unit of agent isolation rather than containers or branches alone. This allows the same repository to host a fleet of simultaneously running agents without any virtualisation overhead, while the relay daemon’s reconnection model means those agents survive network interruptions and SSH session drops — a level of resilience that is absent from terminal-multiplexer-based alternatives. The Design Mode feature, which introspects a live Chromium webview and serialises element context directly into an agent prompt, is a novel feedback loop between visual rendering and code generation that no general-purpose IDE currently offers out of the box.

Self-Hosting

Orca is released under the MIT License, which is one of the most permissive open-source licenses available. You can use it commercially, modify the source, redistribute it, and integrate it into proprietary workflows without any copyleft obligations. The only requirement is that the MIT copyright notice is retained in distributions. There are no open-core restrictions, feature flags behind a commercial tier, or usage-based licence checks in the source — the complete application is available under the same terms for every user.

Running Orca yourself means installing a pre-built desktop binary (macOS, Windows, Linux AppImage) or building from source with Node 24 and pnpm. The application itself requires no server infrastructure for local use — it is a self-contained desktop app that connects to whichever AI agent CLIs you have installed. Remote SSH worktrees add an operational dependency: you are responsible for provisioning and maintaining the remote machine, managing SSH credentials, and ensuring network connectivity. The relay daemon is deployed automatically by Orca over SCP, but upgrades, machine uptime, and port availability are your concern. Mobile companion functionality requires the Orca desktop app to be reachable from the device over the network, which may require configuring firewalls or using a VPN for remote access.

There is no official SaaS or managed cloud tier of Orca itself at this time — the application is entirely self-hosted. What you trade against a hypothetical hosted offering is support infrastructure: there is no commercial SLA, no guaranteed response time for bugs, and no managed upgrade path beyond GitHub releases and the built-in auto-updater. Community support is available through Discord and GitHub Issues. Because Orca orchestrates third-party agent CLIs (Claude Code, Codex, etc.) rather than hosting models itself, the AI inference costs and rate limits are governed by your subscriptions with those providers, not by Orca.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search