Claude Code vs Cursor comes down to where you want the agent to live. Claude Code is Anthropic’s coding agent: it runs in your terminal (and in IDE extensions, a desktop app and the web), reads your repo, edits files and runs commands with Claude models. Cursor is an AI code editor, a fork of VS Code, with an agent built into the editor, a choice of models from several vendors, cloud agents and its own CLI. Pick Claude Code if you live in the terminal and want the deepest Claude integration. Pick Cursor if you want an editor first and like switching models. Plenty of people use both.
This post covers what is actually different: models, the pricing model, agent mode, cloud agents, Cursor CLI and rules files. No benchmarks here. Results depend on your repo, your prompts and the model of the week, and anyone quoting a single score is selling something. If you are also weighing OpenAI’s tool, see Claude Code vs Codex.
What they are
Claude Code is an agentic coding tool from Anthropic. You start it with claude in a project folder, describe a task, and it plans, edits files, runs tests and asks before risky steps. The same agent is also available in VS Code and JetBrains extensions, a desktop app and claude.ai/code.
# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
Cursor is a full code editor. You open a folder, chat with the agent in a side panel, accept or reject diffs inline and keep using the editor features you know from VS Code: extensions, debugger, Git view. Tab completion and inline edits sit next to the agent. Cursor CLI brings the same agent to the terminal.
# macOS, Linux, WSL
curl https://cursor.com/install -fsS | bash
# Windows PowerShell
irm 'https://cursor.com/install?win32=true' | iex
At a glance
| Claude Code | Cursor | |
|---|---|---|
| Main surface | Terminal, plus IDE extensions, desktop app, web | Editor (VS Code fork), plus CLI, web and mobile for cloud agents |
| Models | Claude models from Anthropic | Models from OpenAI, Anthropic, Google and Cursor’s own, plus an Auto option |
| Billing | Claude subscription or Anthropic API usage | Cursor plans with included model usage |
| Rules file | CLAUDE.md | .cursor/rules/*.mdc, AGENTS.md |
| Cloud runs | Cloud sessions on claude.ai/code | Cloud Agents (formerly Background Agents) |
| Terminal command | claude | agent (older: cursor-agent) |
| Extensibility | MCP, hooks, skills, subagents, plugins | MCP, rules, team rules on business plans |
Models
Claude Code runs Claude models. You switch with /model inside a session, and the choice is between Anthropic’s current tiers. You can also point it at Claude models through Amazon Bedrock or Google Vertex AI if your company buys through a cloud provider. What you do not get is GPT or Gemini inside Claude Code.
Cursor is model-agnostic. Its model list covers OpenAI, Anthropic and Google models plus Cursor’s own models (Composer), and an Auto setting lets Cursor choose. That includes Claude models, so you can run Claude inside Cursor’s agent. The trade-off: the harness around the model is Cursor’s, not Anthropic’s. Claude Code is built by the same company that trains the model, and its tools, prompts and permission flow are tuned for it.
So the honest framing is not “which model is better”. It is “do you want one vendor’s model in that vendor’s harness, or a harness that lets you switch models”.
Pricing model
Prices change too often to print here, so this section only covers how each one bills. Check the current numbers on Claude pricing and Cursor pricing.
- Claude Code is included in Claude’s paid subscriptions, or you pay per token through an Anthropic API key. Subscription use runs on rolling usage windows; when you hit one, you wait or switch to API billing. The details are in Claude Code usage limits.
- Cursor has a free tier and paid individual and business plans. Agent and model usage draws from what your plan includes, at a rate that depends on the model you pick. Cloud Agents draw from the same usage.
What that means in practice: if you already pay for Claude, Claude Code costs you nothing extra to try. If you already pay for Cursor, its agent and CLI are already in your plan. Paying for both is common among people who use them heavily, mostly to have a second pool of usage when one runs out.
Agent mode
Both tools do the same core loop: read files, plan, edit, run commands, look at the output, repeat. The difference is how you watch and steer it.
Claude Code shows everything in the terminal. Permission modes decide how much it can do alone: by default it asks before edits and commands, you can let it accept edits, or switch to plan mode where it only reads and proposes. Shift+Tab cycles through them. You review changes with git diff or in your editor.
Cursor’s agent works inside the editor. Diffs appear inline in the files, you accept or reject them hunk by hunk, and you can jump straight into the debugger. For many people this is the main reason to choose Cursor: reviewing an agent’s work is easier when the diff is already in the editor you use.
Cursor CLI has three modes:
| Mode | What it does | How to switch |
|---|---|---|
| Agent | Default; edits files and runs commands | Default |
| Plan | Designs the approach and asks questions before writing code | Shift+Tab, /plan, --plan or --mode=plan |
| Ask | Read-only questions about the code | /ask or --mode=ask |
Cursor CLI asks for approval before it runs terminal commands. Claude Code’s equivalent is its default permission mode.
Background and cloud agents
Both now run agents away from your laptop.
Cursor Cloud Agents (the feature used to be called Background Agents) run in isolated cloud VMs. They clone your repo, work on a branch and open a pull request. You can start one from the Cursor editor, cursor.com/agents, mobile, Slack, GitHub, Linear or the API, and in Cursor CLI you send a message to a cloud agent by prefixing it with &. They draw on your plan usage at the selected model’s rate.
Claude Code has cloud sessions on claude.ai/code that run in Anthropic-managed VMs. From the terminal, claude --cloud "task" starts one and claude --teleport pulls a cloud session back into your local terminal. Cloud sessions are available on Claude’s paid plans.
Local background work differs too. Claude Code can run subagents and background tasks inside a session. Cursor’s local agent runs in the editor window you have open. If you want several local agents at once, in either tool, you need separate terminals or windows and some way to keep them out of each other’s files, which is the problem running coding agents in parallel is about.
Cursor CLI vs Claude Code in the terminal
Cursor CLI is what makes this comparison close. Without it, the choice was “terminal or editor”. With it, Cursor is also a terminal agent.
# interactive
agent
# non-interactive, for scripts and CI
agent -p "find unused exports in src/" --output-format text
# pick up where you left off
agent ls
agent resume
Claude Code’s equivalents:
claude
claude -p "find unused exports in src/"
claude --continue
claude --resume
Where they differ: Claude Code has a larger set of terminal-native extension points (hooks that run your scripts on events, skills, custom subagents, plugins). Cursor CLI’s strength is that it shares models, rules and MCP settings with the Cursor editor, so the agent behaves the same in both places.
Rules files: .cursor/rules vs CLAUDE.md and AGENTS.md
Every agent needs to know your build command, test command and the things it must not touch. The two tools read different files.
Claude Code reads CLAUDE.md in the project (and ~/.claude/CLAUDE.md for personal rules). It can import other files with @path.
Cursor uses project rules in .cursor/rules/. Each rule is an .mdc file with frontmatter that decides when it applies:
---
description: API conventions for the server package
globs: server/**/*.ts
alwaysApply: false
---
- Validate every request body with zod.
- Return errors as { error: string }.
Rules can be always applied, applied when the agent thinks they are relevant, applied to matching files, or applied only when you mention them. Plain .md files in that folder are ignored. Cursor also reads AGENTS.md at the root and in subfolders, user rules from its settings, and team rules on business plans. Cursor CLI reads CLAUDE.md at the project root too.
The portable setup is to keep shared rules in AGENTS.md and make CLAUDE.md a one-line import:
@AGENTS.md
Then add .cursor/rules only for things that need globs. How to write CLAUDE.md and AGENTS.md covers what belongs in the file.
When each one wins
Claude Code wins when:
- You work in the terminal, over SSH or in tmux, and do not want an editor in the loop.
- You want to automate the agent: hooks,
claude -pin scripts and CI, custom subagents and skills. - You already pay for Claude and want the harness Anthropic tunes for its own models.
- You want to run many agents at once and treat each one as a process.
Cursor wins when:
- You want to see and accept diffs inline in an editor, with the debugger one click away.
- You like switching models per task, or want Cursor’s Auto to pick.
- You want tab completion and quick inline edits next to a full agent.
- Your team wants to start cloud agents from Slack, GitHub or Linear and get PRs back.
Neither wins on raw quality across the board. With the same Claude model, the result depends more on your task description and rules file than on the tool.
Using both
Using both is more common than picking one:
- Claude Code in Cursor’s terminal. Write and review in Cursor, hand bigger tasks to
claudein the integrated terminal or through the Claude Code extension, which Anthropic’s docs offer for Cursor. - Second opinion. One agent writes the change, the other reviews it. Different harnesses miss different things.
- Two usage pools. When Claude’s window runs out, Cursor’s agent keeps going, and the other way round.
The catch is coordination. Two agents in the same folder will edit the same files. Give each one its own branch and folder with git worktrees, and keep one AGENTS.md so both follow the same rules.
Claude Code and Cursor CLI side by side in AgentVera
AgentVera is a desktop app for macOS, Windows and Linux that runs terminal coding agents in real terminals, in a grid, with your existing logins. It does not run the Cursor editor; it runs Cursor CLI (cursor-agent or agent) next to Claude Code.
| Need | In AgentVera |
|---|---|
| See both agents at once | A grid per project, from 1×1 to 5×4 panels |
| Keep them out of each other’s files | Pick a worktree in the Workspace field of the New agent dialog |
| Separate Cursor conversations | Each Cursor agent gets its own chat, created with cursor-agent create-chat and reopened with --resume |
| Control permissions | Ask, Auto or Full access per agent; for Cursor, Full access passes --force |
| One checks the other | Automatic code review when a turn ends, for both agents |
| Hand work from one to the other | Flows pass one agent’s answer to another (Pro and Team) |
One honest limit. Cursor CLI has no role flag, so the Role and instructions field is not passed to it; put the instructions in AGENTS.md or .cursor/rules instead. AgentVera’s MCP servers and browser do reach Cursor: they are added as a local plugin and approved for that run, next to your own MCP settings. If you leave the model empty, Cursor uses the model from its own settings.
The grid, worktrees and code review are on the free plan. Download AgentVera, open a Claude Code agent and a Cursor agent in two worktrees, and see which one you reach for.
Which to pick
- Terminal person, already paying for Claude, want automation: start with Claude Code.
- Editor person, want inline diffs and a choice of models: start with Cursor.
- Hitting limits, or want a second opinion on important changes: use both, each in its own worktree, with one
AGENTS.md.
Whichever you start with, keep your rules in AGENTS.md. Switching later then costs you nothing.