Cursor to Claude Code: What Maps and What Does Not

Read Time: 9 min read Publish Date:

Ryo Hang portrait

Ryo Hang

Editor-in-Chief

On this page
Schematic of two developer toolchains joined by a bridge of three lanes: one lane connects cleanly, one is marked for rebuilding with wrench and gear icons, and one ends in a gap

Most of a Cursor setup has a Claude Code equivalent, but Tab autocomplete does not. Skills and subagents often carry over unchanged, because Cursor also reads .claude/ folders. Rules and MCP configs need light edits, and hooks need a rewrite. Treat every mapping here as a proposed equivalent and test it before you roll it out.

A team that runs Cursor for a year ends up with dozens of rule files, a hooks config, a few subagents, MCP servers and some habits built on Cursor’s cloud agents. The first question when someone proposes a switch is “what do we lose?” The second is usually about what Cursor calls “background agents”, which Cursor now calls cloud agents. This guide answers both, object by object.

Last verified: 2026-10-13, against Cursor’s and Anthropic’s own documentation. Both change often, so check the linked pages before you act. For policy delivery and rollout stages, see our Claude Code managed settings guide.

Key Takeaways

  • Skills, subagents and AGENTS.md mostly carry over, because each tool reads the other’s folders or files. Commands need a copy or a conversion to skills.
  • Rules, hooks, MCP configs and org policy need rebuilding. The concepts match, the file shapes don’t.
  • Cursor’s Background Agents are now Cloud Agents. The nearest Claude Code feature is cloud sessions.
  • Cursor Tab has no verified Claude Code equivalent. Measure your dependency on it first.
  • Nothing here migrates automatically. Collection is not import.

Does a Cursor Setup Move to Claude Code?

Mostly yes, in three groups: things that carry over, things you rebuild, and one gap. If you are working out how to switch from Cursor to Claude Code, start here: the table gives the verdict for each Cursor object. The sections below cover the ones that need care.

CursorClaude CodeStatusNote
Project rules (.cursor/rules/*.mdc)CLAUDE.md and .claude/rules/*.mdRebuildNo import. Rule modes don’t map one to one.
AGENTS.mdRead when no CLAUDE.md existsMaps, one trapLoads only if CLAUDE.md is absent or imports it.
Skills (.cursor/skills/).claude/skills/<name>/SKILL.mdMapsBoth follow the Agent Skills format. Cursor also scans .claude/skills/.
Custom commands (.cursor/commands).claude/commands/ or skillsCopy or convertBoth tools are folding commands into skills. Neither documents reading the other’s commands folder.
Subagents (.cursor/agents/).claude/agents/MapsCursor reads .claude/agents/. Field names differ.
Hooks (hooks.json)hooks block in settings.jsonRebuildDifferent events, output format and failure knobs.
MCP (.cursor/mcp.json).mcp.jsonMaps with editsSame mcpServers shape. Variable syntax differs.
Team rules, team hooks, MCP policy (dashboard)Managed CLAUDE.md, managed settings, managed MCP serversRebuildDifferent delivery route.
Cloud Agents (formerly Background Agents)Cloud sessionsNearest equivalentDifferent account, repo and policy requirements.
Tab autocompleteNone verifiedGapPlan for the loss.

Mapping diagram showing which Cursor features carry over to Claude Code, which are rebuilt, and the Tab gap

Teal lines carry over, amber lines are rebuilt, and the dashed red line is a gap.

The lead finding is the overlap. Cursor’s documentation says it discovers skills in .claude/skills/ and subagents in .claude/agents/ for compatibility. Claude Code reads AGENTS.md when no CLAUDE.md is present. Many migration guides tell readers to rebuild everything. For skills and subagents, you may have nothing to convert. Commands are different. Cursor’s /migrate-to-skills (Cursor 2.4 and later) converts slash commands to skills, and Claude Code treats a command file and a skill as the same thing, so a command usually becomes a skill or a copy in .claude/commands/. We found no documentation that either tool reads the other’s commands folder.

Rules, AGENTS.md and CLAUDE.md

Cursor rules do not import automatically. Fold always-on rules into CLAUDE.md, put glob-scoped rules in .claude/rules/ with a paths: list, and import AGENTS.md if you keep one.

Cursor’s rules documentation describes four modes: Always Apply, Apply Intelligently, Apply to Specific Files, and Apply Manually. Only some have a direct Claude Code counterpart.

  • Always Apply maps to CLAUDE.md, or a .claude/rules/ file with no paths field, which loads unconditionally.
  • Apply to Specific Files maps to a .claude/rules/ file with paths: globs, which loads when Claude works with matching files.
  • Apply Intelligently and Apply Manually have no switch. A skill, which loads on its description or on /name, is the closest option. A CLAUDE.md section works if the rule is short. Either is a judgment call, not a conversion.

Anthropic’s memory documentation advises keeping each CLAUDE.md under 200 lines and moving part-of-the-codebase instructions into path-scoped rules.

An .mdc file and its closest counterpart look like this:

<!-- .cursor/rules/api.mdc -->
---
description: API endpoint conventions
globs: src/api/**/*.ts
alwaysApply: false
---
- Validate input on every endpoint.
- Use the standard error response format.
<!-- .claude/rules/api.md -->
---
paths:
  - "src/api/**/*.ts"
---
- Validate input on every endpoint.
- Use the standard error response format.

The description field has no role in a path-scoped Claude Code rule, so it is dropped. Remove paths and the same file loads for every task, which turns a scoped rule into an always-on one.

The AGENTS.md trap

If your repository keeps instructions in AGENTS.md for Cursor and you add a CLAUDE.md, Claude Code stops reading AGENTS.md. Anthropic’s memory documentation sets the default:

Your repository hasClaude Code reads
AGENTS.md, no CLAUDE.md or CLAUDE.local.md in the working directory or aboveAGENTS.md
AGENTS.md and a CLAUDE.md or CLAUDE.local.mdCLAUDE.md files only
A CLAUDE.md that imports AGENTS.mdCLAUDE.md, with AGENTS.md included through the import

The fix is one line, @AGENTS.md, in CLAUDE.md. Anthropic also documents a Project instructions setting that makes Claude read both files. Reading AGENTS.md directly needs Claude Code v2.1.277 or later. Note that a personal CLAUDE.local.md counts as a CLAUDE.md for this check, so adding one can silently stop AGENTS.md from loading.

How Do Cursor Hooks and Subagents Map to Claude Code?

Subagents map closely. Hooks keep their purpose but must be rewritten.

Subagents

Cursor’s subagents documentation lists project and user folders for .cursor/agents/, .claude/agents/ and .codex/agents/, with .cursor/ winning when names conflict. Claude Code’s subagents live in .claude/agents/. The frontmatter differs:

Cursor fieldClaude Code fieldNote
name, descriptionname, descriptionSame role
modelmodelValues differ by vendor
readonlytools allowlist or disallowedToolsNo single flag. Restrict to read tools.
is_backgroundbackgroundBoth run without blocking the main chat

Claude Code adds fields Cursor doesn’t list, such as permissionMode, isolation, memory and per-subagent hooks. A subagent file written for one tool often loads in the other, but check that the fields you rely on mean the same thing.

Hooks

The idea is the same: a script runs at a lifecycle event and can allow or block the action. Everything around it differs. Cursor’s hooks are defined in hooks.json and Claude Code’s hooks in a hooks block in settings.json. The closest event pairs:

CursorClaude Code
sessionStartSessionStart
beforeShellExecutionPreToolUse, matcher Bash
beforeMCPExecutionPreToolUse, matcher on mcp__<server>__<tool>
afterFileEditPostToolUse, matcher Edit or Write
beforeSubmitPromptUserPromptSubmit
stopStop

Cursor’s tab hooks (beforeTabFileRead, afterTabFileEdit) have no counterpart, since there is no Tab. Cursor hooks answer with a permission of allow, deny or ask. Claude Code hooks answer with a permissionDecision inside hookSpecificOutput, and can also return defer. In both tools, exit code 2 blocks the action.

Check this before rollout: failure behavior. Both tools let the action through when a hook crashes or times out. Cursor’s documentation says crashes, timeouts and non-zero exit codes other than 2 fail open by default, and "failClosed": true blocks instead. Claude Code treats other non-zero exits as non-blocking errors, and a timed-out PreToolUse hook does not block the call. Its onFailure: "block" option (Claude Code v2.1.295 or later) is the counterpart to failClosed. A security hook that relied on failClosed in Cursor is not protected in Claude Code until you set the new option. Test every security hook by making it block something on purpose.

Does Claude Code Have Tab Autocomplete Like Cursor?

Not that we could verify. Claude Code is an agent, not an inline completion engine.

Cursor describes Tab as AI autocomplete that suggests code as you type from recent edits, surrounding code and linter errors. It can edit several lines, add missing imports, jump to the next predicted edit location and predict edits across files.

Anthropic’s VS Code extension gives you inline diffs, @-mentions of files and line ranges, plan review and multiple conversations. It does not list inline completions. People have asked for them on Anthropic’s issue tracker. The two requests we checked, #29978 for next edit suggestions and #45573 for inline completions, are both closed: one as stale, one as a duplicate. A closed issue is not a decision either way, so recheck before you rely on it.

For a team, this is a productivity risk, not a blocker. Find out how much of each developer’s day runs on Tab before you switch. A short survey or a week of self-reported use separates a nuisance from a dependency. Your options are to keep an editor with completion alongside Claude Code, or to use a separate completion tool. Anthropic’s extension page links an install for Cursor, so the two can run together. We don’t recommend a specific third-party completion product here, because we haven’t evaluated one.

”Background Agents” or “Cloud Agents”?

Cursor renamed Background Agents to Cloud Agents. The nearest Claude Code feature is cloud sessions. The term “background agents” still shows up in older posts, forum threads and AI answers, and it now points at several different things.

TermToolWhat it means
Background AgentsCursorThe former name of Cloud Agents
Cloud AgentsCursorAgents in isolated cloud VMs with your repo, dependencies, secrets and network. Launched from the web, desktop, iOS, Slack, GitHub, Linear or an API. Billed at API pricing for the model.
Subagent with is_background: trueCursorA local subagent that returns immediately instead of blocking
Cloud sessions (Claude Code on the web)Claude CodeA session on Anthropic-managed or self-hosted infrastructure. Started from claude.ai/code, the mobile app, Desktop, or claude --cloud. Pulled back to a terminal with --teleport.
Background subagentsClaude CodeLocal subagents with background: true, tracked in /tasks

What changes when you move

Treat cloud sessions as the closest functional match, not an identical one.

  • Account. Cloud sessions need a claude.ai sign-in. An API key, Amazon Bedrock or Google’s provider setup doesn’t qualify, and your organization’s allow_remote_sessions policy must be on.
  • Source control. Cursor lists GitHub, GitLab, Azure DevOps and Bitbucket. Claude Code’s cloud sessions clone and open pull requests on GitHub, including GitHub Enterprise Server on Team and Enterprise plans. A GitLab or Bitbucket repository can be sent as a local bundle but can’t push back.
  • Hooks and skills. Cursor’s cloud agents run only command-based hooks, and personal skills need syncing in Settings to reach them. Claude Code cloud sessions pick up subagents from the repository’s .claude/agents/ and settings from its .claude/settings.json.
  • Policy. Organizations with zero data retention or the HIPAA configuration can’t use cloud sessions. Our Claude Code governance and HIPAA guide covers that boundary.

Claude Code adds features with no Cursor counterpart we checked, including PR auto-fix, which watches a pull request for CI failures and review comments, and routines, which run a saved prompt in the cloud on a schedule, on an API call or on GitHub events. Anthropic marks routines as a research preview.

What Does Not Carry Over, and What to Check Before Rollout

Plan for credentials, chat history and personal settings not to move, and verify every mapping on your own repositories. We found no import path in either vendor’s documentation for Cursor chat history, memories or saved sessions. Re-create secrets in the Claude Code environment or managed settings. Never copy them across.

Some Cursor features we did not check for a Claude Code counterpart: checkpoints, queued messages, side chats and the /goal directive. We make no claim about them either way.

MCP needs a small edit. Both tools use an mcpServers object. Cursor’s config lives in .cursor/mcp.json and uses ${env:NAME} and ${workspaceFolder}. Claude Code’s config lives in .mcp.json for shared project servers, uses ${VAR} and ${VAR:-default}, and takes a type field such as http or stdio. For the policy side, see our MCP governance checklist and, for how skills and MCP tools differ, AI skills vs MCP tools.

A rollout checklist for one repository

  1. Start Claude Code and confirm the right instruction files load, using /context to list memory files.
  2. If the repository has both AGENTS.md and CLAUDE.md, confirm both load.
  3. Open a file under a path-scoped rule and confirm the rule appears.
  4. Port one hook and confirm it blocks a test action. Then force it to fail and confirm what happens.
  5. Confirm your subagents and skills appear and run.
  6. Confirm each MCP server connects with its credentials.
  7. Start a cloud session under your organization’s policy, if you use cloud agents today.
  8. Ask the team to name the Tab features they would miss.

Teams planning a wider move can use our AI readiness checklist for the questions beyond tooling.

Where Jarvis Crosswalk Fits

We build a product in this category. Before a team-wide switch, you need to know what exists across your repositories: every rule, hook, subagent, skill and MCP server. Jarvis Crosswalk, from ASCENDING Inc, inventories what a team has built in tools such as Cursor, classifies it, proposes Claude Code equivalents and states the gaps. It does not migrate anything automatically, and the checks above apply with or without it. To scope a review around one set of repositories, use our contact page.

Conclusion

Most of a Cursor setup has a Claude Code equivalent. The work is in the details.

  • Skills, subagents and AGENTS.md mostly carry over, and commands convert to skills. Check the AGENTS.md and CLAUDE.md precedence.
  • Rules, hooks, MCP configs and org policy need rebuilding and testing. Re-test every security hook.
  • Background Agents are now Cloud Agents, and cloud sessions are the nearest Claude Code feature.
  • Tab has no verified equivalent. Measure the dependency and decide before you switch.

References

Cursor to Claude Code questions

How do I switch from Cursor to Claude Code?

Inventory what your team has built in Cursor first: rules, AGENTS.md files, skills, commands, subagents, hooks, MCP servers and any Cloud Agents (formerly Background Agents). Skills and subagents often load unchanged because Cursor also reads .claude/ folders. Commands, rules, hooks and org policy need a copy, conversion or rebuild, and Tab has no verified equivalent. Treat each mapping as a proposed equivalent and test it on one repository before a team rollout. Start with the managed settings guide for the policy side.

How do I convert Cursor rules (.mdc) to CLAUDE.md?

There is no automatic import. Move always-on rules into CLAUDE.md, and move glob-scoped rules into .claude/rules/ with a paths: frontmatter list. Rules that Cursor applies by description or by @-mention have no direct switch, so decide whether each belongs in CLAUDE.md or in a skill. Anthropic's memory documentation targets under 200 lines per CLAUDE.md.

What is the difference between Cursor rules, AGENTS.md and CLAUDE.md?

Cursor rules are .mdc files with four apply modes. AGENTS.md is a plain markdown file that both tools can read. CLAUDE.md is Claude Code's own instruction file. If a repository has both AGENTS.md and CLAUDE.md, Claude Code reads only CLAUDE.md by default, so add @AGENTS.md to CLAUDE.md to load both.

How do Cursor hooks and subagents map to Claude Code?

Subagents map closely: Claude Code reads .claude/agents/, and Cursor reads that folder too. Hooks keep their purpose but need rewriting. Event names, config location and output format differ, so a hook that blocks in Cursor does not block in Claude Code until you port and test it.

Does Claude Code have tab autocomplete like Cursor?

Not that we could verify. Cursor Tab is inline autocomplete, while Claude Code is an agent with a terminal, desktop and IDE extension interface. The VS Code extension offers diffs, @-mentions and plan review, not inline completions. Measure how much your developers rely on Tab before you switch, and decide whether to keep a completion tool alongside Claude Code. See Anthropic's VS Code documentation.

Ryo Hang portrait

About the author

Ryo Hang

Editor-in-Chief

Editor-in-Chief at ASCENDING Inc. Writes across the enterprise agentic AI stack: MCP, governance, and the buying cycles that determine what actually ships.