Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Upgrade Cursor versions, migrate from VS Code, and transfer settings between machines. Triggers on "upgrade cursor", "update cursor", "cursor migration", "cursor new version", "vs code to cursor", "cursor changelog".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 53% | 0% |
Upgrade Cursor IDE versions, migrate from VS Code, and transfer configurations between machines.
Cursor checks for updates automatically. When available:
Help > Check for UpdatesIf auto-update fails or is disabled:
bash# macOS (Homebrew) brew upgrade --cask cursor # macOS/Linux/Windows: Download latest from # https://cursor.com/download # Linux AppImage: replace the old file curl -fSL https://download.cursor.com/linux/appImage/x64 -o cursor.AppImage chmod +x cursor.AppImage
[ ] Note current version: Help > About
[ ] Check release notes: changelog.cursor.sh
[ ] Backup settings:
macOS: cp -r ~/Library/Application\ Support/Cursor/User ~/cursor-settings-backup
Linux: cp -r ~/.config/Cursor/User ~/cursor-settings-backup
[ ] Export extension list:
cursor --list-extensions > extensions-backup.txt
[ ] Commit any unsaved work to git
[ ] Note any custom keybindings (keybindings.json)[ ] Cursor launches without errors
[ ] Sign-in still active (check top-right user icon)
[ ] AI features work: try Cmd+L, type a question
[ ] Tab completion works: type code, see ghost text
[ ] Extensions loaded: Cmd+Shift+X, verify list
[ ] Custom keybindings preserved: test your shortcuts
[ ] Project rules still load: @Cursor Rules in chat
[ ] Indexing status: check status barOn first launch, Cursor detects VS Code and offers one-click import:
What migrates:
✅ settings.json (editor preferences)
✅ keybindings.json (custom shortcuts)
✅ User snippets
✅ Color themes
✅ Compatible extensions (from Open VSX Registry)
What does NOT migrate:
❌ Microsoft-exclusive extensions (Copilot, Live Share, Remote-SSH)
❌ Extension login states / databases
❌ Workspace trust settings
❌ Task configurations (.vscode/tasks.json -- copies but may need adjustment)If you skipped the auto-import:
bash# Copy settings (macOS example) cp ~/Library/Application\ Support/Code/User/settings.json \ ~/Library/Application\ Support/Cursor/User/settings.json # Copy keybindings cp ~/Library/Application\ Support/Code/User/keybindings.json \ ~/Library/Application\ Support/Cursor/User/keybindings.json # Copy snippets cp -r ~/Library/Application\ Support/Code/User/snippets/ \ ~/Library/Application\ Support/Cursor/User/snippets/ # Reinstall extensions (from backup list) while read ext; do cursor --install-extension "$ext"; done < extensions-backup.txt
Cursor uses Open VSX Registry instead of Microsoft's VS Code Marketplace:
| Extension | Status in Cursor | |-----------|-----------------| | ESLint | Available (Open VSX) | | Prettier | Available (Open VSX) | | GitLens | Available (Open VSX) | | Docker | Available (Open VSX) | | Python | Available (Open VSX) | | GitHub Copilot | Not available (Microsoft exclusive, also conflicts with Cursor AI) | | Live Share | Not available (Microsoft exclusive) | | Remote - SSH | Not available (Microsoft exclusive) | | C# Dev Kit | Not available (Microsoft exclusive) |
For unavailable extensions, download .vsix from the VS Code Marketplace website and install manually: Cmd+Shift+P > Extensions: Install from VSIX...
Both can be installed simultaneously. They use separate:
You can open the same project in both editors at once (though be careful with file save conflicts).
bash# List all extensions cursor --list-extensions > cursor-extensions.txt # Copy settings files cp ~/Library/Application\ Support/Cursor/User/settings.json . cp ~/Library/Application\ Support/Cursor/User/keybindings.json . # Copy project rules (these are already in git if committed) # .cursor/rules/*.mdc are project-level, not machine-level
bash# Install Cursor # Sign in (settings sync if available) # Restore settings cp settings.json ~/Library/Application\ Support/Cursor/User/ cp keybindings.json ~/Library/Application\ Support/Cursor/User/ # Install extensions while read ext; do cursor --install-extension "$ext"; done < cursor-extensions.txt
json// settings.json -- platform-specific settings to check { "terminal.integrated.defaultProfile.osx": "zsh", // macOS "terminal.integrated.defaultProfile.linux": "bash", // Linux "editor.fontFamily": "Fira Code", // Font must be installed "files.watcherExclude": { ... } // Paths may differ }
If upgrading from a Cursor version that used .cursorrules:
.cursor/rules/ directory.cursorrules content into scoped .mdc files:project.mdc with alwaysApply: truetypescript.mdc with globs: "**/*.ts"@Cursor Rules to verify rules load.cursorrules after confirmingCursor 2.0 introduced:
Check changelog.cursor.sh for specific breaking changes.
settings.json for new team membersOther measured skills in the registry, with their headline benchmark lift.