How to Migrate From GitHub Copilot to Cursor
Most developers who make this switch hit the same wall first: Copilot works beautifully inside a single file, then stops helping the moment the problem spans three files and a config. You ask it to refactor a service, and it gives you a rewrite of the function you highlighted, oblivious to the interfaces and tests it's about to break.
The other common trigger is pricing frustration. Copilot Individual costs $10/month, Copilot Business $19, and you're still navigating a chat window that feels bolted onto VS Code rather than built for it. Cursor Pro is $20/month, which looks similar on paper, but the experience gap is large enough that most developers who try both keep Cursor.
What's actually different
The fundamental model is different. Copilot is an autocomplete tool with a chat add-on. Cursor is a fork of VS Code built around a multi-file AI editor, with autocomplete as one layer of several.
| Feature | GitHub Copilot | Cursor |
|---|---|---|
| Inline autocomplete | Yes (strong) | Yes (Tab, strong) |
| Chat | Copilot Chat (sidebar) | Ask mode (sidebar) |
| Multi-file edits | Limited (Copilot Edits, beta) | Composer (stable, powerful) |
| Codebase context | @workspace (shallow) | @Codebase (deep, indexed) |
| Custom rules | No | .cursorrules file |
| Model choice | GPT-4o, Claude 3.5 Sonnet | Claude 3.7 Sonnet, GPT-4o, others |
| Free tier | No | Yes (2000 completions/month) |
| IDE | Plugin for VS Code, JetBrains | Standalone (VS Code fork) |
The table doesn't capture what matters most: Cursor's Composer lets you describe a change across multiple files, review a diff, then apply or reject it. Copilot Edits exists but it's slow and less reliable. With @Codebase, Cursor indexes your entire repo and answers questions about it accurately rather than hallucinating from context window proximity.
Mapping your existing workflow
Here's how the things you already do in Copilot translate:
Inline suggestions. Copilot's ghost text is equivalent to Cursor Tab. Same gesture: Tab to accept, Escape to dismiss. Cursor also lets you accept individual words with Ctrl+Right, which Copilot doesn't.
Copilot Chat. The Copilot Chat sidebar maps roughly to Cursor's Ask mode. Both let you select code, ask questions, get explanations. Cursor's Ask has a cleaner diff view for suggested edits.
/explain, /fix, /tests. Copilot's slash commands in chat don't have direct equivalents in Cursor's Ask mode, but the same prompts work naturally in prose. "Explain this function" and "write tests for this" work fine.
@workspace context. In Copilot you add @workspace to give the model your repo. In Cursor you use @Codebase (chat sidebar) or just type @ in Composer to pull in specific files. The indexing is deeper: Cursor actually embeds your codebase semantically.
.github/copilot-instructions.md. Copilot picked up project-level instructions from this file. Cursor uses .cursorrules at the root of your project. They serve the same purpose, so just rename and tweak the format slightly (plain text or markdown both work in .cursorrules).
JetBrains users. Cursor is VS Code only. If you're on IntelliJ or Rider, this migration isn't straightforward. Copilot is still better-supported in JetBrains than Cursor's web-based workarounds.
The actual migration steps
1. Install Cursor. Download from cursor.com. It's a standalone app, not a plugin. Your VS Code extensions install on first launch because Cursor reads your VS Code profile. Most extensions carry over automatically.
2. Sign in and choose a model. Cursor Pro includes credits for Claude 3.7 Sonnet and GPT-4o. In Settings, pick your default model. For code generation, Claude 3.7 Sonnet is the current recommended choice for multi-file tasks.
3. Port your instructions file. Copy .github/copilot-instructions.md to .cursorrules in your project root. If you had team-wide Copilot instructions configured in your GitHub org settings, recreate the relevant parts in .cursorrules. This is a one-time task per repo.
4. Set up @Codebase indexing. Open a project in Cursor and wait for the initial indexing to complete (bottom status bar shows progress). On a 50k-line repo this takes two to three minutes. After that, @Codebase in chat answers questions about your project accurately.
5. Learn Composer. Cmd+I (Mac) or Ctrl+I opens Composer. Describe what you want to change, reference files with @filename, and Cursor produces a multi-file diff you can review. This is the feature that has no real Copilot equivalent. Spend 20 minutes trying it on a real task before you judge the migration.
6. Keybindings. Cursor ships with VS Code keybindings by default. If you had Copilot-specific shortcuts, most aren't needed anymore since Cursor Tab replaces them. Check Settings > Keyboard Shortcuts if anything feels wrong.
7. Cancel Copilot. Give yourself one week of parallel use before cancelling. The Copilot subscription cancels immediately in GitHub billing settings.
First-day checklist:
.cursorrulesfile in place- Codebase index complete
- One real task done with Composer
- Model preference set (not just the default)
Gotchas you'll hit
Muscle memory takes a week. You'll reach for Copilot Chat's slash commands in Cursor's chat and feel briefly lost. It's a short adjustment.
Cursor is heavier. As a standalone Electron app, it uses more RAM than VS Code + a plugin. On a machine with 8GB RAM you'll notice it. 16GB is comfortable.
Billing model is different. Copilot Pro bills per seat with unlimited usage. Cursor Pro gives you a monthly credit budget for "fast" requests (premium models); after the limit, you drop to slower models or pay extra. For heavy users this matters. Check your usage in Cursor Settings > Usage.
Remote SSH and Dev Containers. Cursor supports both, but if your workflow is heavily container-based, test it before committing. A small percentage of dev container setups need config tweaks.
.cursorrules is per-repo. There's no global equivalent of GitHub's org-level Copilot instructions within Cursor. You can keep a template .cursorrules in a dotfiles repo and copy it in.
Copilot's GitHub integration. Copilot can see your PRs, issues, and Actions context when you use it from github.com. Cursor doesn't integrate with GitHub at that level. If you relied on that, you'll lose it.
When NOT to switch
Stick with GitHub Copilot if:
- You're on JetBrains IDEs. Cursor is VS Code only.
- Your team uses Copilot Business for centralized policy, usage tracking, and GitHub org integration. Cursor doesn't have an equivalent enterprise administration layer.
- You mainly write in isolated files and the autocomplete quality is good enough. The overhead of Cursor's deeper features isn't justified for simple editing tasks.
- You're on a low-RAM machine (8GB or less). Cursor is noticeably heavier.
- Your org requires all AI tools to be explicitly approved, and that process is slow. Copilot is already approved most places.
Cursor earns the switch when your work regularly involves multi-file changes, refactors, or questions that need project-wide context to answer correctly.
The migration itself takes an afternoon. Port .cursorrules, let the codebase index, try Composer on something real. Most developers who do that don't go back. The ones who do are usually on JetBrains or working in codebases where Copilot's GitHub integration is actually load-bearing. Know which category you're in before you cancel anything.