Execute upgrade Cursor versions and migrate settings. Triggers on "upgrade cursor", "update cursor", "cursor migration", "cursor new version", "cursor changelog". Use when working with cursor upgrade migration functionality. Trigger with phrases like "cursor upgrade migration", "cursor migration", "cursor".
Upgrade Cursor or migrate settings through a staged, reversible rollout that preserves policy, extensions, rules, workspace trust, and user recovery.
| Condition | Safe response | |---|---| | Upgrade breaks policy or privacy behavior | Stop rollout, revert/pause, and escalate to the tenant owner. | | Extension/settings migration fails | Restore the verified backup and remediate in the pilot. | | Version is unsupported | Do not force installation; use the supported version or plan platform remediation. |
Back up a pilot user's settings, install the target version in a test profile, verify SSO, privacy, rules, indexing, and a sample repository, then expand only after the pilot receipt passes. Keep the previous installer until the observation window closes.
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:
# 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 bar
On 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:
# 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).
# 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
# 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
// 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 members下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer