Compare · last checked October 2026
Portia vs Claude Code on its own
Claude Code already has worktrees and subagents. Portia adds the plan, the tests-first spine, the gates and the single PR for an epic.
Portia is a Claude Code skill. Everything it does, it does by running Claude Code: the same CLAUDE.md files, the same skills, the same subscription. So the honest first comparison is with Claude Code used by hand.
Claude Code can start a session in its own worktree with --worktree, and a subagent can be given its own checkout. What it does not have is anything that spans tickets: no plan written into the tracker, no shared code landed before the rest, no acceptance specs written first and signed off, no exit gate re-run on a rebased head, and no integration branch that collects several children into one PR.
For one change, that is the right amount of machinery. Portia declines a parent that one worker could finish, because the spine, waves and integration branch only cost time there.
| Portia | Claude Code on its own | |
|---|---|---|
| Who proves the work is right, and when | The tests, written first and signed off by a person before any wave; then the gate on each child's rebased head; then you, at the one PR. | You, reading the diff after the session; tests if you asked for them. |
| Where rework shows up | At the gate, per child, before it lands: a failed exit gate retries with the failure in its brief. Siblings never touch the same file, so there is nothing to reconcile at the end. | In review, after the fact; between branches you ran in parallel, when they meet. |
| Unit of work | An epic, or a story big enough to split into children. | A prompt, or a ticket you paste in. --worktree starts a session on its own branch. |
| What you get back | One reviewed pull request for the whole feature, with a ledger of every child and the evidence for each scenario in its description. | Commits on a branch. You open the PR. |
| Where the agents run | Your machine, or a build box you open over SSH. One git worktree per child. | Your machine, or Claude Code on the web. |
| Which agents | Claude Code, on your own subscription. Workers follow the target repo's CLAUDE.md, skills and settings. | Claude Code. |
| Planning | A wave table drawn from the tickets and shown to you first. Written back into the tickets, with each dependency as a blocker link. | Plan mode for one task. Nothing spans tickets or writes a plan back to a tracker. |
| Tests before features | The spine writes every acceptance scenario as a failing spec. You sign off before any wave starts. | If you ask for them. |
| Isolation between tasks | A worktree, branch, port and database per child. No two children in a wave touch the same file. | A worktree per --worktree session. Ports and databases are yours to arrange. |
| Gates before landing | Task gate; exit gate, run again on the rebased head; CI; an optional review of each child; the epic gate. | Hooks you write. Nothing re-runs checks on a rebased head before a merge. |
| Who merges | You. Children squash-merge into an integration branch, pinned to the commit their gate passed. Portia never merges to main. | You, branch by branch. |
| Tracker | Jira or GitHub Issues. | Through MCP servers or the gh CLI, when you ask. |
| Model choice | Per child, from its tier: a cheaper model for routine children, a stronger one for the hard ones. | One model per session, switchable. |
| Spend and capacity | Caps per worker, per wave and per epic. Waves are sized from free memory and the other runs on the machine. | Your plan's limits. |
| Unattended, and resuming | Parks with one question instead of guessing. Detached workers outlive the session, with a stall detector; portia resume picks a run back up. | A session ends when you close it, unless you run it headless yourself. |
| Licence and price | Free. Source on GitHub. | Included in Claude subscriptions and API use. |
What Claude Code on its own does that Portia doesn't
- Nothing to install or learn beyond Claude Code itself.
- Right for a single change, which Portia will decline.
- Interactive: you steer every step as it happens.
Choose Claude Code on its own when
The work is one ticket, or you want to steer every step.
Choose Portia when
The work is an epic with shared code and several children, and you want it planned, tested and gated to one PR without sitting in each session.
Questions
- Does Portia replace Claude Code?
- No. It runs Claude Code. Portia is the orchestration around it: the plan, the spine, the waves, the gates and the landing.
- Can I use Portia with Codex or Gemini CLI?
- Not today. Workers are Claude Code sessions, and the skill that plans and lands runs inside Claude Code too.
Sources
Claude Code on its own's column comes from the pages below, read in October 2026. Portia's comes from its README and reference. If a cell is wrong, open an issue.