← Back to blog

Orca: does an agent fleet beat one agent done well?

Orca’s README sums up the product in one sentence: “Run Codex, ClaudeCode, OpenCode or Pi side-by-side — each in its own worktree, tracked in one place.” It’s a desktop app from Stably AI for running a fleet of coding agents. You can send one prompt to several agents, give each its own git worktree, compare the results, and merge the best one.

It has momentum: stablyai/orca has over 103k stars as of Oct 23. It’s MIT-licensed and written mostly in TypeScript. But this post is about a more useful question than whether the app is good. Does running agents in parallel and merging the winner actually beat running one agent well?

What Orca is (and isn’t)

The docs describe Orca as a desktop IDE for running multiple AI coding agents side by side. Every task gets its own git worktree, agent terminal, and browser tab. Just as important is what it isn’t:

  • It isn’t a model. In the docs’ words, you “bring your own Claude, Codex, or OpenCode subscription.” Orca runs the agents you already pay for.
  • It isn’t a git replacement. Every worktree is a real git worktree, so you can cd into it and use plain git.
  • It isn’t a hosted VPS. It runs on your desktop by default. Remote compute uses machines you control, such as SSH targets or self-hosted Orca servers.

The supported-agents list is long: Claude Code, Codex, Cursor CLI, GitHub Copilot, OpenCode, Pi, Amp, Goose, and many more. The README says “if it runs in a terminal, it runs in Orca.”

The features that matter for a fleet

  • Parallel worktrees. The README says you can “fan one prompt across five agents, each in its own isolated git worktree — compare the results and merge the winner.”
  • Annotate AI Diff. You comment on specific lines of an agent’s diff, then send all the comments back to that agent in one batch. Comments stay attached to their lines as the diff shifts.
  • GitHub and Linear in the app. You can browse PRs, issues, and project boards and open a worktree straight from a task. The docs also list a Jira drawer.
  • SSH worktrees. Orca creates the worktree on a remote host and runs the agents there, while the editor and diff stay local. It checks host keys against your known_hosts and rejects a changed key before asking for credentials.
  • The orca CLI. Agents can drive Orca themselves, with commands like orca worktree create, snapshot, click, and fill.
  • Usage tracking. It shows Claude and Codex usage and when rate limits reset, and it can switch between accounts.

Desktop builds cover macOS (Apple Silicon and Intel), Windows, and Linux (AppImage), with a Homebrew cask (brew install --cask stablyai/orca/orca). There are iOS and Android companion apps for checking on and steering agents from your phone.

Parallel vs. one agent done well

I haven’t benchmarked this, so here’s how I’d reason about it rather than a result.

Racing agents is a sampling strategy. When the task is ambiguous or the solution space is wide (a gnarly bug with several plausible causes, a UI change where taste matters, a refactor with real design choices), several independent attempts improve your odds that one of them is good. Comparing them also tends to expose the assumptions each agent made, which teaches you something about the problem.

When the task is well specified, parallel mostly buys you duplicate work. A tight plan, a clear definition of done, and one capable agent will usually get there with a fraction of the tokens and review time. If you can write good acceptance criteria, write them, then run one agent. I covered that planning gate in my Cursor Plan Mode post.

The real costs

Tokens and subscriptions. Orca is free. The agents aren’t. Five agents on one prompt cost roughly five agents’ worth of usage, and if those agents come from different vendors, you’re paying several subscriptions or API bills. Orca’s usage and rate-limit view helps here. Watch it the first week, because parallel runs hit limits quickly.

Review load. This is the cost people underestimate. Three candidate diffs mean three diffs to read, judge, and test. Annotate AI Diff makes each review faster, but it doesn’t reduce the number of reviews. If you skim all three and merge whichever looks tidiest, you’ve given up the main advantage of racing them.

Machine load. Each worktree is a full checkout with its own dependencies, dev servers, and test runs. On a big repo, that’s real disk space and CPU. That’s the case for SSH worktrees on a larger box.

When parallel is worth it

  • The task is exploratory or ambiguous, and you’d honestly accept several different solutions.
  • You have a cheap, objective way to judge the results, such as a failing test that must pass, a benchmark, or a screenshot to match.
  • You want to compare agents on your codebase before standardizing on one.
  • The tasks are actually independent (different bugs, different worktrees), so it’s concurrency rather than a race.

The last case is underrated. Running several agents on different tickets at once, each isolated in its own worktree, is often more useful than racing several agents on one ticket.

Worktree hygiene

  • One task per worktree, named after the task. Orca’s model gives each worktree its own branch and base ref. Keep it that way.
  • Delete losers promptly. Orca’s delete removes both the directory and the branch, with confirmation. Do it right after you merge the winner so stale branches don’t pile up.
  • Pick the winner with tests, not prose. Run the same test command in every candidate worktree before you read any agent’s summary.
  • Merge one result. Combining the best parts of three diffs sounds clever and usually produces something nobody fully reviewed. Pick one, then send line comments back to its agent for the rest.
  • Mind your credentials over SSH. Remote agents run with whatever access that host has. Treat the box like CI and give it scoped credentials.

Orca collects anonymous usage telemetry in packaged builds. Its privacy page says it never sends prompts, code, or paths, and that DO_NOT_TRACK=1 or ORCA_TELEMETRY_DISABLED=1 turns it off. Read that page before you point it at a work repo.

How it fits with what I’ve covered

Orca sits one layer above the agent. If you’re still choosing which agent to run, start with my look at where OpenCode fits next to hosted IDEs. If you’re thinking about loading each agent up with skills and memory, see when a harness OS like ECC is worth the install tax. Orca doesn’t replace either of those. It coordinates them.

Takeaways

  • Orca is a free, MIT-licensed desktop app that runs your existing agents side by side, each in its own git worktree, on your own subscriptions.
  • Racing agents helps on ambiguous tasks that have an objective way to score results. On well-specified tasks, one agent with a good plan is usually cheaper.
  • The hidden cost is review time, not just tokens. Budget for both.
  • Keep worktrees tidy: one task each, decide by tests, merge a single winner, and delete the rest.
← Back to blog