GitHub Copilot Agent Mode vs Claude Code: 8 Tasks, 31 Days, Real Bills
August 2026. I keep a GitHub Copilot Business seat and a Claude Code Max 5x subscription running in parallel, and my accountant keeps asking why. Fair question. So instead of answering it like an adult, I ran a 31-day side-by-side across eight real tasks in my own monorepo and saved every receipt.
Here is what shipped, what did not, and the invoices that arrived on the first.
The setup, before anyone accuses me of cherry-picking
Same repo. Same me. Same eight tasks, each queued onto whichever agent had a free slot that day. When one blew up, I let it. I did not swap tools mid-task.
The eight tasks:
- Two bugfixes: a race in the calendar dedupe layer, a wrong-locale date parser in a Rails serializer.
- Two refactors: extract a service out of a 900-line handler, split a fat React component into three.
- Two greenfield features: a small MCP tool for reviewdog, a batch runner for markdown snapshots.
- Two framework migrations: React Router v6 to v7, Node 20 to 22 with the new Test Runner ergonomics.
Both agents ran on Sonnet 4.6 by default and were allowed to escalate to Opus when they judged the task hard. Both had access to the repo, the terminal, and my usual .claude / .github/copilot config. Neither had access to my calendar, which I want you all to know I consider a boundary.
31 days. 47 merged PRs total across the eight task shells (each task usually became 3–7 PRs). Real production repo, not a toy.

What actually landed
The one-line summary: both finished all eight tasks, but not with the same number of retries and not for the same money.
The medium-line summary:
| Task | Copilot Agent Mode | Claude Code | Winner |
|---|---|---|---|
| Bugfix: calendar race | 2 retries, 41 min | 1 retry, 28 min | Claude Code |
| Bugfix: date locale | 1 retry, 12 min | 1 retry, 14 min | tie |
| Refactor: 900-line handler | 4 retries, 2h 10min | 2 retries, 1h 04min | Claude Code |
| Refactor: React split | 1 retry, 38 min | 2 retries, 47 min | Copilot |
| Greenfield: reviewdog MCP | 3 retries, 3h 47min | 2 retries, 3h 22min | Claude Code (thin) |
| Greenfield: snapshot batch | 2 retries, 1h 51min | 3 retries, 2h 08min | Copilot |
| Migration: RR v6→v7 | 1 retry, 55 min | 3 retries, 1h 40min | Copilot |
| Migration: Node 20→22 | 2 retries, 1h 12min | 2 retries, 1h 18min | tie |
Score if you like scores: Claude Code 3, Copilot 3, ties 2. That is not the interesting part.
The interesting part is the shape of the wins. Copilot Agent Mode took the two migration tasks in a walk. Both migrations are dominated by “read the changelog, edit N files the same way, run the codemod, re-run tests.” Copilot’s cloud runner has better tolerance for that kind of dumb parallel work. It will happily thrash through 40 files while I do something else, and its GitHub-native context (issue, PR, checks, review comments) means it never has to be re-briefed.
Claude Code took the deep refactors. Both refactor tasks require a mental model that spans several files and survives across turns. Claude Code kept its plan alive; when it lost the thread, it was because I had interrupted it, not because the harness had rotated the context out.
The bill
Here is where the “marketing narrative” starts to fall apart.
| Line item | Copilot Agent Mode | Claude Code | Delta |
|---|---|---|---|
| Base seat | $39 (Business + Coding Agent add-on) | $100 (Max 5x) | −$61 favoring Copilot |
| Premium request overage | $56 (2,180 requests over quota @ variable rate) | $0 (inside subscription) | −$56 |
| API programmatic usage | $8 (small hooks) | $54 (Claude Code programmatic runs) | +$46 |
| Effective monthly total | $103 | $154 | −$51 favoring Copilot |
| Cost per merged PR | $4.29 | $6.42 | 1.5x |
Copilot came in $51 cheaper for the month. That is not the number I would have predicted before running this. GitHub Copilot Agent Mode has a “cheap seat” narrative from its marketing, but the premium-request overage under a busy month is the thing that quietly eats you. Claude Code has an “expensive subscription” reputation, and yet inside its flat rate you can burn a genuinely large amount of Sonnet 4.6 tokens before the API layer kicks in.
If you extrapolate the cost-per-PR to just the tasks Claude Code won cleanly (deep refactors, tricky bug), Claude Code’s real cost per useful PR drops to about $3.90 — because when it wins, it wins in fewer retries. Copilot’s cheap-seat advantage inverts on those shapes.
The gap on cost per PR ends up around 3.4x if you slice by task shape (refactor-heavy vs migration-heavy). Which is a fun number, because it is roughly the same gap I saw for Claude Code vs ChatGPT Codex on a different mix earlier this year (see: ChatGPT Codex vs Claude Code, 6 tasks, $297). The tools are drifting into distinct lanes.
What SWE-bench says, and why I stopped caring in month two
The SWE-bench Verified leaderboard has Copilot Agent Mode’s underlying stack and Claude Code within a few percentage points of each other. If you optimized your pick-a-tool decision on that number, you would flip a coin and be done in an afternoon.
Except: SWE-bench Verified tests one particular thing, patch quality on Python bug tickets, which is not the same as “does the agent produce a merged PR for the migration you actually have to ship on Thursday.” The benchmark rewards a specific shape of work. My eight tasks are not that shape. Yours probably are not either.
My mid-experiment moment of humility was around day 18. I had been mentally scoring the two tools on “who wins the leaderboard cadence” without looking at what I was actually paying them to do. When I flipped that around and started scoring by shape of task, the picture stopped being “Claude Code slightly ahead” and started being “these two are optimized for different sets of failure modes.” That reframing is the whole point of taking a paper’s abstraction and using it, versus just quoting the abstract. There is a decent write-up of that pattern in natural-language agent harnesses on arXiv — pay attention to the “delegation boundaries” section.
Where each one actually earns its seat
Copilot Agent Mode earns its seat when:
- Work is well-scoped inside a single issue, and you want the agent to grind through a diff without you present. Async cloud runner + native GitHub context means you can walk away from a migration PR and it will show up as a check-passed PR waiting for review.
- Your team already lives in the GitHub review UI and you do not want to introduce another surface.
- The work is parallel and dumb rather than deep and clever. Codemods, cross-file renames, dependency bumps.
Claude Code earns its seat when:
- Work requires holding a mental model across many turns and files. The subscription pays for itself the moment you have to iterate 40 times on the same refactor.
- You want the terminal, hooks, and the ability to fork the harness with your own skills. Copilot’s agent is a product; Claude Code is a runtime you can bend.
- You are shipping the same repo across multiple languages or platforms and want the same session to carry context across all of them.
The stacking pattern that shook out for me: Copilot Agent Mode for anything I would describe to a junior engineer as “here is a ticket, please close it,” and Claude Code for anything I would sit next to a senior engineer and pair on.
The parts nobody puts in the launch post
Two footnotes from the 31 days that will save you a bad afternoon.
Copilot Agent Mode’s cost is spiky. It is very cheap on light weeks and moderately expensive on heavy ones. If you are budgeting a team on it, do not budget on the seat price. Add a 60% variance buffer, because premium-request overage is where the surprise lives.
Claude Code’s “programmatic usage” line is real. In June 2026, the API-side cost for Claude Code non-interactive runs (cron jobs, hooks, the classic claude -p invocation) started drawing from the same credit pool as regular API. If you use Claude Code as a runtime (hooks, cron, harnesses), that $54 line item on my bill is going to be much larger on yours if you are running it heavily. Budget accordingly.
The pick, if you were going to make me
Do not pick one.
$103 of Copilot Agent Mode plus $154 of Claude Code is $257 a month, which is less than I pay for the coffee I make wrong every morning. The point of running both is that you match the tool to the shape of the task, and the shapes are meaningfully different. The two agents are converging in benchmark score and diverging in operational fit, which is the exact opposite of what the launch posts suggest.
If you are forced to pick one because someone above you saw an OPEX line item and got theatrical about it: pick Claude Code if your work is refactor-heavy and iterative, pick Copilot Agent Mode if your work is ticket-heavy and cloud-runnable. The 3.4x cost-per-PR gap on the wrong side is more expensive than the seat.
I went to make coffee, again. It was fine this time. The agents were both mid-PR. Neither one complained.
If you want the harness patterns I use to keep both of these tools honest, most of them are in Harness Engineering Guide.
Related book Systematizing AI Code Review The 3-layer model that cut my code review time by 60% — hooks for format, AI for first pass, humans for design judgment View the book page → Was this article helpful?