On this page · 13 sections
- Our verdict
- At a glance
- What we tested and what we found
- Measured results: all six runs
- Pricing and plan limits (checked October 5, 2026)
- Agent and CLI capabilities
- Privacy and training defaults (documented, not verified in our accounts)
- What changed in the last six months
- Gotchas we’d warn a friend about
- What users are reporting (unverified)
- Methodology
- What we tested and what we did not
- Run your own trial before you pay
Our verdict
-
Pick Claude Code
If you already pay for Claude Pro or Max and want an agent that works from the terminal.
In our three runs it fixed all three planted bugs, passed 6/6 hidden acceptance tests, and each time added three tests for the new endpoint without being asked. The catch: there is no Claude Code on Claude Free, and its usage limits are shared with Claude chat on web, desktop and mobile.
-
Pick GitHub Copilot (Free, then Pro)
If you want to start at $0, or a $10 plan with a published credit allowance.
With no paid plan, the Copilot CLI passed the same grader in 3 of 3 runs, with smaller diffs (+30 to +36 lines) and no new tests. Free uses auto model selection only, and in our runs that picked two different models for the same prompt. Pro is $10/month for 1,500 AI credits; since June 1, 2026 agent and chat use draws those credits down by tokens.
-
Pick Cursor
If you want an AI-first editor with unlimited Tab completions on paid plans and a choice of models.
Pro is $20/month. Cursor splits usage into a pool for its own models and a pool for third-party models billed at API price. This verdict rests on Cursor’s documentation only; we did not run Cursor.
At a glance
- Tools run
- Claude Code 2.1.289 (Opus 5.5) and GitHub Copilot CLI 1.0.91 (no paid plan), headless, three runs each
- Task
- Fix three planted bugs and add one endpoint in a 211-line TypeScript repo
- Result
- Both passed the visible suite and 6/6 hidden tests in every run
- Cursor
- Not tested; pricing, limits and privacy from Cursor’s docs
- Tested and prices checked
- Oct 5, 2026
What we tested and what we found
We gave both command-line agents the same small repository: a dependency-free TypeScript link shortener with three planted bugs and a written task to fix them and add a GET /api/links/:slug/stats endpoint. Each tool got the same one-line prompt on a fresh clone, three times. We graded every result with the repository’s own test suite plus six acceptance tests the agents never saw.
The task did not separate them on correctness. Claude Code and the Copilot CLI both fixed all three bugs and built a working endpoint in 6 of 6 runs combined. Every run passed the visible suite and 6/6 hidden tests. If you want a tool that can handle a contained bug-fix-plus-feature job in a small codebase, both cleared that bar.
Differences we did see:
- Tests. Claude Code added three tests for the new endpoint in every run (+38 or +39 lines in
test/worker.test.ts), so its visible suite grew from 12 to 15 tests. The Copilot CLI changed no test files in any run. Neither removed an existing test line. - Diff size. Claude Code’s diffs were 6 files, +78 to +89 lines. Copilot’s were 4 or 5 files, +30 to +36 lines. Most of the gap is the added tests.
- Model stability. Claude Code ran Opus 5.5 in all three runs. Copilot’s auto selection chose
mai-code-1.1-flashin runs 1 and 3 andgpt-5.6-lunain run 2, from an identical prompt and starting commit. - The usage numbers the CLIs print are not bills. Claude Code reported a
total_cost_usdof $0.3791 to $0.3886 per run. That is an estimate at API list price; Anthropic’s docs say the figure “isn’t relevant for billing purposes” for Pro and Max subscribers. The Copilot CLI reported atotalNanoAiufield of 1,259,596,800 to 1,699,207,200 per run. If “nano” means billionths of an AI credit, that is about 1.26 to 1.70 credits, roughly $0.013 to $0.017 at $0.01 per credit. That reading is unverified: we did not match it against GitHub’s usage dashboard.
What this does not show: which tool is faster, which model is better, or how either behaves on a large or unfamiliar codebase. The two tools ran on different machines with different models and plans, as the next section explains.
Measured results: all six runs
| Tool and run | Wall clock | Visible suite | Hidden tests | Files / lines changed | Tests added | Model | Usage field reported by the CLI |
|---|---|---|---|---|---|---|---|
| Claude Code, run 1 | 53.6 s | 15/15 | 6/6 | 6 files, +78 / −6 | 3 (+39 lines) | claude-opus-5-5 | total_cost_usd $0.3791 |
| Claude Code, run 2 | 44.4 s | 15/15 | 6/6 | 6 files, +89 / −6 | 3 (+38 lines) | claude-opus-5-5 | total_cost_usd $0.3886 |
| Claude Code, run 3 | 51.8 s | 15/15 | 6/6 | 6 files, +89 / −6 | 3 (+38 lines) | claude-opus-5-5 | total_cost_usd $0.3824 |
| Copilot CLI, run 1 | 58.8 s | 12/12 | 6/6 | 4 files, +33 / −9 | 0 | mai-code-1.1-flash (auto) | totalNanoAiu 1,699,207,200 |
| Copilot CLI, run 2 | 48.1 s | 12/12 | 6/6 | 5 files, +36 / −9 | 0 | gpt-5.6-luna (auto) | totalNanoAiu 1,302,327,000 |
| Copilot CLI, run 3 | 51.9 s | 12/12 | 6/6 | 4 files, +30 / −8 | 0 | mai-code-1.1-flash (auto) | totalNanoAiu 1,259,596,800 |
Not a speed comparison. Claude Code ran on a Mac mini (Apple M2) in Singapore; the Copilot CLI ran on a Linux box with US-East network egress. Wall clock is measured by our script around the CLI call, so it includes network round trips to each vendor. The models also differ: Opus 5.5 on a paid Claude subscription versus a free, auto-routed Copilot model. Line counts are git diff --stat against the baseline commit. The Copilot CLI also reported a premiumRequests value of 1 for each run.
run.sh output on the Mac mini, Node 26.7.0.
run.sh output on the Linux box, Node 22.23.3.Pricing and plan limits (checked October 5, 2026)
GitHub moved Copilot to token-metered AI credits on June 1, 2026, and all three products now cap or meter agent work by usage rather than by seat alone, so the monthly price tells you little on its own. Sources: Claude pricing and Anthropic’s Max plan and Claude Code with Pro or Max articles; Cursor pricing, models and pricing and overages; GitHub’s Copilot plans and individual billing docs. Everything in this table is documented, not observed.
| Item | Claude Code | GitHub Copilot | Cursor |
|---|---|---|---|
| Free tier | Claude Free ($0) does not include Claude Code | Free: 2,000 code completions/month, an AI-credit allowance whose size is not published, auto model selection only. CLI and agent mode included | Hobby: free, no card. “Limited” Agent requests; Agent, Chat and Tab with the Auto model |
| Entry paid plan | Pro: $20/month, or $17/month on the annual plan ($200 up front) | Pro: $10/month, 1,500 AI credits (1,000 base + 500 flex) | Pro: $20/month; unlimited Tab completions |
| Higher individual plans | Max 5x $100/month; Max 20x $200/month (5× and 20× Pro’s per-session allowance) | Pro+ $39 (7,000 credits); Max $100 (20,000 credits) | Pro+ $60/month; Ultra $200/month |
| Team plans | Team Standard $20/seat annual or $25 monthly; Premium $100 annual or $125 monthly | Business $19/seat (1,900 credits per user, pooled); Enterprise $39/seat (3,900) | Teams Standard $40/user; Teams Premium $120/user (5× Standard Agent limits) |
| What the allowance is | A usage limit per five-hour session, plus a weekly limit on Max. Anthropic publishes no token or message number for Pro | AI credits, consumed by tokens at model API rates. 1 credit = $0.01. Completions on paid plans are not billed in credits | Two monthly pools: Cursor’s own models (Grok, Composer) and third-party models at the model’s API price |
| Shared with | Claude chat on web, desktop and mobile, and Claude Code in the IDE | All Copilot surfaces (chat, CLI, cloud agent) on the plan | Requests draw from the pool of the model they use |
| When you run out | Wait for the reset, upgrade, turn on usage credits, or switch to Console API credits at API rates | Paid plans: set a dollar budget for additional usage (can be capped) | On-demand usage at API rates, billed in arrears. Off until you enable it on individual plans; on by default for Teams |
| Reset | Session limit every five hours; Max weekly limit at a fixed time per account | 00:00 UTC on the 1st of each month, regardless of billing date; no carry-over | Monthly |
| Vendor’s own spend guidance | Enterprise average about $13 per developer per active day (API context) | Not published | Daily Agent users “typically” $60–$100/month total; power users often $200+ |
Copilot paid plans get a 10% discount on model costs when you use auto model selection. The “flex” part of each Copilot allowance is described by GitHub as variable. Anthropic notes it may limit usage in other ways at its discretion, such as weekly and monthly caps.
Agent and CLI capabilities
Each cell says whether it comes from our runs or from vendor documentation. Docs sources: About Copilot CLI, Cursor CLI overview, Claude Code costs and data usage.
| Capability | Claude Code | GitHub Copilot | Cursor |
|---|---|---|---|
| Headless / print mode | claude -p with JSON output, permissions skipped in a throwaway clone tested | copilot -p with --allow-all-tools and JSON output tested | agent -p for scripts and CI docs |
| Headless sign-in | Existing subscription login on our Mac mini tested. An ANTHROPIC_API_KEY switches billing to the API docs | A GitHub CLI OAuth token passed as GH_TOKEN tested. Classic ghp_ tokens are not supported docs | Browser login or CURSOR_API_KEY docs |
| IDE surfaces | Extension for VS Code, Cursor and other VS Code forks, and JetBrains IDEs; counts toward the same limits docs | VS Code, Visual Studio, JetBrains IDEs, Neovim and others; chat only in some docs | Cursor’s own editor: Agent, Chat and Tab docs |
| Model choice | --model opus; every run reported claude-opus-5-5 tested | Free: auto only. In each run the auto router’s event listed exactly one available model: mai-code-1.1-flash in runs 1 and 3, gpt-5.6-luna in run 2 tested. Paid plans can pick models docs | Specific model in the picker or --model; Auto modes billed at the routed model’s price docs |
| Cloud agents | Cloud sessions in Anthropic-managed VMs docs | Copilot cloud agent; Copilot CLI cloud and local sandboxes are in public preview docs | Hand a CLI conversation to a Cloud Agent with & docs |
| Wrote tests unprompted | Yes, 3 tests in each of 3 runs tested | No, in 3 of 3 runs tested | Not tested |
Privacy and training defaults (documented, not verified in our accounts)
We read these from the vendors’ policy pages on October 5, 2026. We did not open the privacy settings in any of our accounts, so treat this as what the docs say, not what we saw. Sources: Claude Code data usage, GitHub Copilot policies, Cursor data use and Cursor security.
| Item | Claude Code | GitHub Copilot | Cursor |
|---|---|---|---|
| Training on individual plans | An account setting on Free, Pro and Max; Anthropic trains on that data when it is on. The pricing table lists model training as “Opt-out” | Since April 24, 2026, GitHub may train on Free, Pro, Pro+ and Max interactions, including code snippets, unless you opt out | With Privacy Mode off, Cursor may use and store code, prompts and editor actions to train models. With it on, no training |
| How to turn it off | The model-improvement setting in your Claude account | Copilot settings: “Allow GitHub to use my data for AI model training” → Disabled | Enable Privacy Mode in settings (or a team admin does); available on free and Pro |
| Retention | 5 years if you allow model improvement, 30 days if not. Local transcripts kept 30 days by default | Not covered in the pages we checked | Privacy Mode: zero-data-retention agreements with model providers; abuse-flagged data may be kept |
| Business plans | Team, Enterprise and API: no training by default; 30-day standard retention; zero data retention available | Business and Enterprise data not used for training | A team admin can enable Privacy Mode for the team |
| Worth knowing | Telemetry can be switched off with environment variables | The training change applies to individual plans only | Requests go through Cursor’s backend even with your own API key. We did not check whether Privacy Mode is on by default for a new account |
What changed in the last six months
- GitHub Copilot moved to AI credits on June 1, 2026. GitHub announced it in April 2026 (its blog post is dated April 27). Usage is now metered in tokens at model API rates and drawn from a monthly credit allowance. Premium requests and multipliers survive only on legacy annual Pro and Pro+ plans until they expire. From the same date, Copilot code review also uses GitHub Actions minutes (community announcement).
- Copilot training default, April 24, 2026. Individual-plan interactions may be used for training unless you opt out (see the privacy table).
- Cursor’s current usage model: two pools, Cursor Models with “significantly more included usage” and Other Models at API price. Auto now comes in three modes (Cost, Balance, Intelligence) routed by Cursor Router, which launches for Teams and Enterprise first and reaches individual plans “a few months after launch”. Teams and Enterprise pay an extra Cursor Token Rate of $0.25 per million tokens on third-party models, including with their own API keys. Cursor’s pricing docs describe these without dates; they are current as of October 5, 2026. Cursor’s changelog does date Projects (September 10) and Rollouts plus Security Review bots for Teams and Enterprise (September 23).
- Claude’s current limit rules. Anthropic’s current Max plan article describes a five-hour session limit and, on Max, a weekly limit across all models that resets at a fixed time per account. We found no dated announcement for the weekly limit in the pages we checked, so this is the rule as documented on October 5, 2026, not a dated change. Claude Code 2.1.289, the version we tested, was the current release on October 5, 2026.
Gotchas we’d warn a friend about
- An
ANTHROPIC_API_KEYin your shell changes who pays. If that variable is set, Claude Code bills your API account at API rates instead of using your Pro or Max subscription. Check your shell profile and CI secrets. - Claude Code and Claude chat share one allowance. A long chat session on the web eats into the same limit your terminal agent needs, and so does the IDE extension.
- Copilot credits reset on the calendar, not your billing date. The allowance refills at 00:00 UTC on the 1st.
- Copilot code review draws on two meters. Since June 1, 2026 it consumes AI credits and GitHub Actions minutes.
- Cursor Teams turns on-demand billing on by default, and Cursor says spend-limit enforcement “is not instant”, so usage can briefly go past your cap. Individual plans have to enable on-demand explicitly.
- Cursor Teams pays a $0.25 per million token surcharge on third-party models such as Claude, on top of the model price, even with your own key.
- Auto routing can change the model between identical prompts. We saw it in Copilot run 2. Cursor’s Auto modes route too and bill at the chosen model’s list price. If you need reproducible behaviour, pin a model where your plan allows it.
What users are reporting (unverified)
These are other people’s reports. We have not reproduced any of them, and the Reddit threads were seen only through search results because Reddit blocked our fetch.
- Visual Studio Magazine, June 4, 2026: a Copilot Pro+ user says a single 3-minute GPT-5.5 question used 405.1 credits, 5% of their monthly quota.
- gHacks, June 2, 2026: one Pro+ user reports using about 8% of the monthly allotment in two hours; another more than $6 on one change request; a Reddit user 1,180 credits, about 16% of Pro+, in one session.
- r/cursor, “Beware of Cursor’s on-demand billing trap”: a user says on-demand was enabled with limits of $50 and then $41, they could not set $0 as a hard cap, and support declined a refund.
- r/ClaudeCode, “Usage limit glitch again?”: several Max 5x and 20x users report weekly usage jumping, for example from about 75% to 100%, with little activity.
- r/ClaudeCode, “Claude Code Limits Were Silently Reduced”: Max users report hitting session limits much faster than before.
Methodology
The fixture. A zero-dependency TypeScript link shortener written in Cloudflare Worker style: five source files, 211 lines, tested with Node’s built-in runner and native type stripping. We froze it at commit 86ccc1e. At that commit the visible suite has 12 tests with 3 failing, one per planted bug: the whole URL was lowercased instead of only scheme and host, the slug check accepted a trailing hyphen, and creating a link returned 200 instead of 201. A separate hidden suite of 6 acceptance tests covers the stats endpoint; 1 of them (unknown slug returns 404) already passes at baseline.
The task. TASK.md asks the agent to fix the failing tests without weakening or deleting any, add GET /api/links/:slug/stats (hit counting on successful redirects only, 404 for unknown slugs, 405 with Allow: GET for other methods), run npm test, and add no dependencies. Every run received exactly this prompt: Read TASK.md in this repository and complete the task it describes.
The runs. Each run started from a fresh git clone of the baseline into a temporary folder, outside our bench directory.
- Claude Code 2.1.289 on a Mac mini (Apple M2, 16 GB, macOS 15.1.1, Node 26.7.0) in Singapore:
claude -p --model opus --dangerously-skip-permissions --output-format json, on our existing Claude subscription. We bought nothing for this test. - GitHub Copilot CLI 1.0.91 on a Linux x86_64 box (8 vCPU, US-East egress, Node 22.23.3):
copilot -p … --allow-all-tools --output-format json, signed in with the box’s existing GitHub CLI OAuth token. No Copilot plan was purchased. We did not open the account’s Copilot settings page, so calling it “Free” rests on three things: no purchase, auto-only model behaviour, and GitHub’s docs saying Free includes the CLI.
Grading. After each run our script staged the working tree, saved the diff against 86ccc1e, and ran run.sh: the visible suite, then the 6 hidden tests. We then re-applied all six diffs to fresh clones on the other machine and Node version and graded them again; all six passed there too.
Disclosures. The fixture itself was generated by Claude Code with Opus on the Mac mini, one of the tools under test, and then frozen before any run. The agents never saw the hidden tests: they lived outside the cloned repository, and we searched every run’s transcript or event log for references to them and found none.
What we tested and what we did not
Tested: Claude Code and the GitHub Copilot CLI, headless, on one small task, three runs each, on October 5, 2026.
Not tested:
- Cursor, entirely. The Cursor CLI needs a browser login or a
CURSOR_API_KEY. We had no Cursor credentials for headless use and did not create an account for this comparison; Cursor cloud agents were out of scope. Everything about Cursor here is from its documentation. - GitHub Copilot in the IDE (completions and chat), Copilot cloud agent, Copilot code review, paid Copilot plans, and running out of the Free allowance.
- The Claude Code IDE extension, exhausting a session or weekly limit, Claude Free, and API-key billing.
- Larger or multi-repo tasks, refactors, unfamiliar codebases, and long or parallel sessions.
- Privacy settings in our own accounts.
Run your own trial before you pay
One small task told us both CLIs can finish a contained job. It cannot tell you which tool suits your repository. A five-day trial of short sessions on your own code will tell you more:
- Freeze the tasks first. Pick a handful of real tickets from your backlog: a small feature with a test, a bug in code you know, a bug in code you don’t, a multi-file change. Give every tool the same tickets and the same prompt.
- Start each attempt from the same commit in a fresh clone, so one tool’s leftovers don’t help the next.
- Write your acceptance checks before you run anything, and keep them out of the agent’s reach, as we did with the hidden tests.
- Record what a reviewer cares about: did the checks pass, how big was the diff, were tests added or weakened, did it invent APIs, and how long did your review take.
- Read the usage meter after every session: Claude’s plan usage bars, Copilot’s AI-credit usage, Cursor’s usage pools. That tells you more about your real monthly cost than any CLI estimate.
Our comparison checklist gives you a place to record scores and export them, and the privacy checklist covers what to confirm before you point any of these tools at private code.
Who should not use this
- Claude Code: not for you if you want to stay on a free plan (Claude Free has no Claude Code), or if you rely heavily on Claude chat and can’t afford to have both draw from one limit. If you need a predictable bill per request, the subscription limits are not published as numbers.
- GitHub Copilot: on Free, not for you if you need to choose or pin the model: Free is auto-only, and the model changed between our identical runs. Individual plans are a poor fit if your code must never be used for training and you can’t rely on everyone opting out; Business and Enterprise are excluded from training.
- Cursor: not for you if you want to stay in your current editor, or if you run a team that can’t tolerate on-demand spend going briefly past a cap: on-demand is on by default for Teams and enforcement is not instant. We have not tested Cursor, so weigh this against your own trial.
- This comparison: not useful for choosing on speed, model quality or large-codebase behaviour. Our task was small and both tools passed it.
Frequently asked questions
Does Claude Code work on the free Claude plan?
No. Anthropic’s plan table lists Claude Code as not included on Free. The cheapest plan with Claude Code is Pro: $20 billed monthly, or $17 a month on the annual plan ($200 billed up front). Checked October 5, 2026.
Can I use the GitHub Copilot CLI without paying?
GitHub documents the Copilot CLI as available on all plans, including Free. We ran Copilot CLI 1.0.91 headless with no Copilot plan purchased, and it completed our task in 3 of 3 runs. Copilot Free comes with 2,000 code completions a month, an AI-credit allowance whose size GitHub does not publish, and auto model selection only.
Which tool fixed more bugs in your test?
Neither. Both fixed all three planted bugs and passed all 6 hidden acceptance tests in every run, 6 of 6 runs combined. The differences we saw were in diff size and whether the agent added tests: Claude Code added three tests every run, Copilot added none.
Is the dollar figure Claude Code prints what I pay?
Not on Pro or Max. Our runs reported total_cost_usd of $0.3791 to $0.3886, which Claude Code computes from tokens at API list price. Anthropic’s cost docs say that session figure is not relevant for billing for Pro and Max subscribers. If ANTHROPIC_API_KEY is set, Claude Code bills the API instead, and then API rates do apply.
When do GitHub Copilot AI credits reset?
At 00:00 UTC on the first day of each calendar month, whatever your billing date. Unused included credits do not carry over. One AI credit is $0.01 when you pay for additional usage.
Why didn’t you test Cursor?
The Cursor CLI needs either a browser login or a CURSOR_API_KEY. We had no Cursor credentials for headless use and did not create an account for this comparison, and Cursor cloud agents were out of scope. Everything about Cursor on this page comes from Cursor’s pricing, docs and data-use pages, checked October 5, 2026.
Does GitHub Copilot train on my code?
On individual plans (Free, Pro, Pro+ and Max), GitHub’s docs say that since April 24, 2026 it may use your Copilot interactions, including code snippets, to train models unless you turn off "Allow GitHub to use my data for AI model training" in your Copilot settings. Business and Enterprise data is not used for training. We did not check the setting in our own account.