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.