Compare · last checked October 2026
Portia vs GitHub Copilot coding agent
Assign an issue to Copilot and it returns a PR from an Actions environment. GitHub's own guidance says it suits low-to-medium complexity tasks in well-tested codebases, one at a time.
Copilot coding agent takes one issue, assigned to Copilot like any other assignee, from github.com, GitHub Mobile, the CLI, Raycast, or Jira in public preview since March 2026. It plans, works in an ephemeral GitHub Actions environment, runs your tests and linters, opens a PR on a copilot/ branch and asks for your review.
Nothing to install and nothing to run: it lives where the code and CI already are. GitHub's own description of its sweet spot is low-to-medium complexity tasks in well-tested codebases.
Portia is for the feature, not the issue: several tickets with shared code, planned in dependency order, with the shared contracts landed first and the acceptance specs written before any child starts. It runs on your machine on your Claude subscription, and the children collect into one PR rather than one PR per issue.
| Portia | GitHub Copilot coding agent | |
|---|---|---|
| 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. | Your tests and linters in Actions, after it writes; then you, in the PR. |
| 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 PR review, after the fact, one issue at a time; parallel issues meet on your default branch. |
| Unit of work | An epic, or a story big enough to split into children. | One issue, assigned to Copilot. |
| 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. | A PR on a copilot/ branch that requests your review. |
| Where the agents run | Your machine, or a build box you open over SSH. One git worktree per child. | An ephemeral GitHub Actions environment. |
| Which agents | Claude Code, on your own subscription. Workers follow the target repo's CLAUDE.md, skills and settings. | Copilot. |
| 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. | Its own, per issue. |
| Tests before features | The spine writes every acceptance scenario as a failing spec. You sign off before any wave starts. | Runs your tests and linters in Actions. |
| Isolation between tasks | A worktree, branch, port and database per child. No two children in a wave touch the same file. | A fresh environment per issue. |
| Gates before landing | Task gate; exit gate, run again on the rebased head; CI; an optional review of each child; the epic gate. | Your Actions workflows on the PR. |
| Who merges | You. Children squash-merge into an integration branch, pinned to the commit their gate passed. Portia never merges to main. | You. |
| Tracker | Jira or GitHub Issues. | GitHub Issues; Jira in public preview (March 2026); Raycast. |
| Model choice | Per child, from its tier: a cheaper model for routine children, a stronger one for the hard ones. | Copilot's. |
| Spend and capacity | Caps per worker, per wave and per epic. Waves are sized from free memory and the other runs on the machine. | Premium requests on Copilot plans, plus Actions minutes. |
| 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. | Fully: it runs in GitHub's cloud. |
| Licence and price | Free. Source on GitHub. | A Copilot subscription (Pro+ or Enterprise at launch; check current plans). |
What GitHub Copilot coding agent does that Portia doesn't
- Nothing to install: assign an issue and walk away.
- Lives where the code and CI already are.
- Any contributor with a seat can use it.
Choose GitHub Copilot coding agent when
Low-to-medium complexity issues in a well-tested codebase, one at a time.
Choose Portia when
An epic: shared code first, children in dependency order, one integration branch, one PR, on your own Claude subscription.
Questions
- Can Copilot take an epic?
- It takes an issue. You could assign each child issue separately, but nothing orders them, lands shared code first, or collects them into one branch; each returns its own PR against your default branch.
Sources
GitHub Copilot coding agent'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.