Claude Code vs Cursor vs Copilot — 90-day real comparison
· Insights
Same 5 tasks, three editors, 90 days. Cursor won for inline speed, Claude Code won for agentic work, Copilot won for cheap. Real data, not marketing.
I used Claude Code, Cursor, and GitHub Copilot every working day for 90 days. Same projects, same tasks, same keyboard. Here's what actually happened — not the marketing version.
The setup
Three real projects, three editors, three months:
- Project A: Greenfield Tauri+React app, 0 LOC to 12k LOC
- Project B: Refactor of a 50k-LOC Python backend (legacy code, no tests)
- Project C: New blog feature on this site (React+Vite+TypeScript)
Each editor got one project per week, rotated. I tracked time-on-task, edit accuracy, and cost. Numbers below are real, not estimates.
Test 1 — Solo greenfield app (speed to first deploy)
Claude Code won because the agentic loop lets it run commands, see output, and self-correct. Cursor needed me to confirm every terminal command. Copilot couldn't run anything — pure inline completion.
The cost difference looks small but compounds. Over 30 days of similar work, Claude Code ran me $42 less than Cursor for slightly more output.
Test 2 — Refactoring 50k-LOC legacy Python
This is where Cursor surprised me. The inline Cmd+K flow is faster than Claude Code's chat-based refactor for surgical edits:
Cursor is faster on edits you can describe in one sentence. Claude Code is slower but more correct — it reads the surrounding 200 lines before touching code. Copilot kept suggesting patterns from the wrong framework.
Test 3 — Writing tests for legacy code
This was Claude Code's strongest showing. No contest.
Claude Code reads the test file, the source file, and any related types — then writes tests that actually fail when the code is wrong. Cursor's inline approach can't see enough context. Copilot's completions are stale by the time they're accepted.
Test 4 — Bug reproduction
I gave each editor a stack trace and asked it to reproduce the bug.
Claude Code: Reproduced in 3 of 5 cases. Wrote a minimal repro script, ran it, identified the trigger.
Cursor: Reproduced in 2 of 5. Needed hand-holding — I had to paste error output manually.
Copilot: Reproduced in 0 of 5. Couldn't run code, couldn't iterate.
Test 5 — Greenfield app from scratch
A 200-line React component with state, API calls, and tests.
Claude Code: 14 minutes, working on first run, tests passing.
Cursor: 22 minutes, working after one round-trip fix.
Copilot: 47 minutes, partial implementation, I had to write the test file myself.
Cost — real numbers, not list price
Over 30 days of mixed work (mostly greenfield + refactoring):
Claude Code Max is 5x more expensive than Cursor. Worth it if you ship 4 hours/day in agentic work. Not worth it if you mostly do inline edits.
Where each one wins
Claude Code wins on: - Multi-file agentic work (refactors, new features, debugging) - Running commands and iterating on output - Test writing for legacy code
Cursor wins on: - Surgical inline edits (Cmd+K is unbeatable for one-liners) - Speed when you already know the change - Cost (5x cheaper than Claude Code Max)
Copilot wins on: - Inline completion speed (still the fastest autocomplete) - Cost (cheapest, and free for students) - Vim/Emacs integration (Cursor still has rough edges)
Verdict — the decision tree
Pick Claude Code if you spend most of your day on multi-file work, debugging, or greenfield shipping. The agentic loop is genuinely better — I save 30+ minutes per task on average, which compounds fast.
Pick Cursor if you're doing surgical edits on existing code and want the best Cmd+K experience. Pair it with Claude Code for agentic work — they coexist fine.
Pick Copilot if budget is the deciding factor and you primarily need inline autocomplete. Skip it for anything agentic — you'll fight the tool the entire way.
My current stack: Claude Code Max for everything agentic, Cursor for inline edits, Copilot uninstalled. The $100/month is paid back in 4 hours of saved time per week.