Claude Code, GitHub Copilot, and Cursor all let an agent edit files, run your terminal, and open a pull request. They disagree on where that agent lives, which file holds project rules, and how review reaches your normal GitHub flow. This compares the three on the plan → implement → test → review cycle, using only features confirmed on current official docs.

Side by side

Claude Code GitHub Copilot Cursor
Where it runs CLI; same engine also in a VS Code extension, JetBrains plugin, Desktop, web, mobile VS Code, Visual Studio, JetBrains, Xcode, Eclipse, GitHub.com, Copilot CLI, GitHub Mobile Its own editor (Agent panel) plus the agent CLI
Agent mode Whole session is agentic; Shift+Tab cycles permission modes (manual, acceptEdits, plan, bypassPermissions/auto) A mode in the Chat agent dropdown: edits files and runs terminal commands, iterating until done Default mode in the Agent panel: edits files, searches, runs the terminal
Context files CLAUDE.md at managed, user, project, local scope, loaded in that order, with @path imports .github/copilot-instructions.md (repo-wide), .github/instructions/NAME.instructions.md with applyTo glob (path-specific); also reads AGENTS.md/CLAUDE.md/GEMINI.md .cursor/rules/*.mdc, four apply types (Always, Intelligently, Specific Files, Manual); also reads root AGENTS.md and CLAUDE.md
MCP support Yes, via /mcp Yes, across IDEs, Copilot CLI, the Copilot app, and a shared repo-level config for cloud agent and code review Yes, via .cursor/mcp.json or ~/.cursor/mcp.json; local stdio, SSE, Streamable HTTP
Sub-agents / background agents /agents points at .claude/agents/; /tasks lists background work incl. finished subagents chat.subagents.* settings expose subagent invocation; cloud agent runs tasks in the background and opens a PR Task tool spawns subagents (subagentStart/subagentStop); Cloud Agents run in an isolated VM and open a PR
Hooks / automation Hooks per event; /hooks lists what’s active, grouped by event .github/hooks/*.json (repo, cloud agent) or ~/.copilot/hooks/*.json (personal, CLI): sessionStart, preToolUse, postToolUse, subagentStop, errorOccurred .cursor/hooks.json (project/user); can also load and run Claude Code’s own hook scripts
Code review features /review aliases the bundled code-review skill, effort low/medium/high Request from Reviewers panel or gh pr create --reviewer @copilot; comment-only by default, can auto-run on open, draft, or every push Bugbot comments on PR diffs each update, or on demand via cursor review/bugbot run; /review checks the branch diff vs. default base
Models available Aliases sonnet, opus, haiku, fable; billed via Claude subscription or Anthropic Console Multi-vendor catalog (GPT, Claude, Gemini, Grok, Kimi K3, MAI-Code) with Auto routing; access depends on plan/org policy As of October 2026, Free/Plus include Grok 4.x and Composer 2.5; Premium+, Teams, Enterprise unlock third-party models
Team / enterprise controls Managed policy CLAUDE.md an admin deploys at OS level, plus settings.json permission rules Enterprise “AI controls” and org policies cover features, models, MCP, agents; centrally enforced or delegated Team Rules from a dashboard; Privacy Mode on by default, lockable for Enterprise; Cloud Agents need Premium+, Teams, or Enterprise

The cycle in each tool

Claude Code

  • Plan. claude --permission-mode plan, or cycle to plan with Shift+Tab. Claude researches and proposes changes before writing anything.
  • Implement. The default mode edits files and runs commands directly. Run /init first so CLAUDE.md captures real build/test commands; it loads at the start of every session.
  • Test. Point Claude at the CLAUDE.md test command, or use ! npm test to run it yourself with the output landing in the transcript.
  • Review. /review, the alias for the bundled code-review skill, with an effort word (low, medium, high) for a deeper pass.

GitHub Copilot

  • Plan. Select Plan from the agents dropdown (VS Code, JetBrains, Xcode, Eclipse; not Visual Studio). It researches read-only, breaks down steps, and surfaces open questions before touching a file.
  • Implement. Click “Start Implementation” to hand the plan to Agent mode, or go straight to Agent mode. For unattended work, assign a GitHub issue to Copilot, or run /delegate in Copilot CLI to push the task to the cloud agent, which works in a GitHub Actions-powered environment and opens a draft pull request.
  • Test. github.copilot.chat.agent.autoFix diagnoses and fixes issues in generated changes; the cloud agent’s ephemeral environment can run your tests and linters directly.
  • Review. Request a review under “Reviewers” on the PR, or run gh pr create --reviewer @copilot. It leaves a comment-only review by default, which doesn’t count toward required approvals unless configured otherwise; automatic review can also run on open, draft, or every push.

Cursor

  • Plan. Switch to Plan mode (Shift+Tab). It researches, asks questions, and writes a plan you edit; “Save to workspace” commits it into the repo instead of your home directory.
  • Implement. Switch to Agent mode to build from the plan, or run the same workflow from the agent CLI. Prefix & to hand the task to a Cloud Agent that runs remotely and opens a PR when done.
  • Test. Agent has direct terminal access in the workspace, so it runs whatever test command your rules or AGENTS.md describe. Debug mode states a hypothesis, adds logging, and makes a targeted fix from a pasted stack trace.
  • Review. Bugbot comments on the PR diff on each update, or on demand with cursor review/bugbot run. /review and /review-bugbot, in Cursor 3.7+, check the branch diff against the default base, including uncommitted edits.

When to pick Claude Code

Terminal-native work: remote servers, scripted pipelines calling claude -p --output-format json, or a refactor where you want tight control over CLAUDE.md scope and /compact. Also fits when one engine should follow you across surfaces (CLI, VS Code, JetBrains, web, mobile). See the Claude Code cheat sheet, and subagents and hooks once a single session isn’t enough.

When to pick GitHub Copilot

When the org already lives on GitHub and needs the review and governance layer, not just the editor. Copilot code review slots into the PR’s own Reviewers list, enterprise AI controls restrict features, models, and MCP centrally, and one license follows developers across VS Code, Visual Studio, JetBrains, Xcode, and Eclipse. Also fits assigning a task like a ticket: a GitHub issue or /delegate, and the cloud agent opens a draft PR on its own.

When to pick Cursor

An editor designed around the agent loop: Plan mode saved into git, checkpoints without touching Git history, Bugbot on every push, and Automations triggering cloud agents on a cron schedule or on GitHub, Slack, or webhook events. See the Cursor cheat sheet for the mode, rules, and MCP details above.

Using two together

A common split: keep inline completions in whichever editor your team uses daily, and reach for a terminal-first agent — Claude Code, or Cursor’s agent CLI — for a refactor spanning many files that benefits from a longer, steerable session. A second pattern layers Copilot code review on top regardless of which agent wrote the code, since gh pr create --reviewer @copilot works on any repo with a Copilot license attached.

Rules files overlap more than expected. A root AGENTS.md is read by Copilot and by Cursor (combined with nested files, closest wins). CLAUDE.md is read the same way by Cursor, and GitHub accepts it as an alternative to AGENTS.md. One well-written AGENTS.md, plus a CLAUDE.md for Claude-specific notes, covers most of the three. Formal multi-tool specs belong in spec-driven development; the test-first habit that keeps any agent honest is in AI-assisted TDD.

Migration path

  1. Pick one canonical instructions file. Write AGENTS.md at the repo root with build, test, and layout notes. Copilot and Cursor both read it natively; add a CLAUDE.md only for Claude-specific notes, since Cursor reads that too.
  2. Split path-specific rules by syntax. Copilot’s path files use .github/instructions/NAME.instructions.md with an applyTo glob. Cursor’s equivalent is a .mdc file in .cursor/rules with globs and alwaysApply: false. Glob syntax isn’t identical, so re-test rather than copy-paste.
  3. Hooks move unevenly. Cursor can load and run Claude Code’s hook scripts directly, so that pair needs no rewrite. Copilot’s hook files (.github/hooks/*.json or ~/.copilot/hooks/*.json) use a distinct schema, even though several event names (sessionStart, preToolUse, postToolUse, subagentStop) line up conceptually; port the logic, not the file.
  4. MCP config is a copy-and-repoint job. Each tool keeps its own file (/mcp, .cursor/mcp.json, or Copilot’s repo-level config), but server command, args, and env are usually portable. See MCP servers explained for the tool-agnostic setup.
  5. Re-point review, not just authoring. Moving from Bugbot to Copilot code review or back is independent of who wrote the diff — request the new reviewer on the same PR before retiring the old tool.

FAQ

Does GitHub Copilot have an equivalent to Claude Code’s CLAUDE.md?

Partly. Copilot’s file is .github/copilot-instructions.md, plus path-specific .github/instructions/NAME.instructions.md with an applyTo glob. GitHub’s docs also say Copilot reads a root AGENTS.md, CLAUDE.md, or GEMINI.md as “agent instructions,” so a CLAUDE.md written for Claude Code isn’t wasted in a repo Copilot also touches.

Can Cursor or Copilot read AGENTS.md?

Yes, but not identically. Cursor says nested AGENTS.md files apply under their directory, combine with parents, and the closer file wins — the same way it treats CLAUDE.md. GitHub says Copilot uses the nearest AGENTS.md in the tree, and that AGENTS.md support is “currently not supported by all Copilot features,” so check per-feature support before relying on it everywhere.

Do all three support MCP servers?

Yes. Claude Code connects servers through /mcp. Cursor reads .cursor/mcp.json or ~/.cursor/mcp.json, supporting local stdio, SSE, and Streamable HTTP. Copilot’s docs say MCP works across IDEs, Copilot CLI, the Copilot app, and the cloud agent and code review, which share a repository-level MCP configuration.

Which tool can open a pull request without me watching it?

Copilot’s cloud agent and Cursor’s Cloud Agents both do this: they run in an isolated environment, push commits to a branch, and open a pull request for review. Copilot’s cloud agent runs on a GitHub Actions-powered environment; Cursor’s Cloud Agents require Premium or higher, Teams, Enterprise, or a legacy paid plan, as of the docs read in October 2026. Claude Code’s web and mobile surfaces run cloud sessions that keep going after you disconnect, but opening the PR is a step you trigger.

Do Claude Code, Copilot, and Cursor all have hooks?

Yes, with event names close enough to be useful. Claude Code and Cursor both expose sessionStart, preToolUse, postToolUse, subagentStart, and subagentStop, and Cursor says it can load and run Claude Code’s own hook scripts directly. Copilot’s hooks live in .github/hooks/*.json for the cloud agent and ~/.copilot/hooks/*.json for Copilot CLI, with a matching but separately defined event set.

How this guide was verified

Written by hand from the official documentation, every command re-checked, and reviewed a second time before publishing. Last reviewed on .

Official sources read for this article

Share.

Haythem Rehouma builds and teaches DevOps and AI tooling: Kubernetes, Docker, Terraform, Claude Code, ChatGPT and n8n. Every KubPoint guide is written from the official docs and re-tested before it goes live.

Comments are closed.