> cursorport_

migrate Cursor VS Code in one command
settings · keybindings · snippets · profiles · extensions

cursorport — terminal
$ npx cursorport     settings.json         cursor.* keys stripped   keybindings.json   snippets/              (14 files)   profiles/               (2 profiles)   extensions            (38 installed)   Migration complete. Backup saved: ~/.cursorport_backup_2025-05-05T10-00-00 Restart VS Code to apply all changes.   !  Font: Fira Code — make sure it’s installed system-wide
$ npx cursorport

No install needed — runs with npx. Or: npm install -g cursorport  ·  Requires Node.js ≥ 20 and both cursor + code in your PATH.

{ }
settings.json
Copied verbatim. cursor.* and anysphere.* keys stripped automatically so VS Code doesn't error.
keybindings.json
All custom keyboard shortcuts copied as-is.
snippets/
All per-language snippet files migrated. Existing VS Code snippets won't be overwritten without confirmation.
profiles/
All named editor profiles. Great for monorepos and context-switching setups.
extensions
Installs every extension that exists on the VS Code marketplace. Cursor-only extensions (anysphere.*) are skipped automatically.
!
font + theme hints
Detects your editor/terminal font and color theme. Warns if they need to be installed in VS Code.
flag description
-n, --dry-run Preview everything without writing any files
-f, --force Overwrite VS Code files without prompting
--skip-extensions Skip extension installation (fast settings-only run)
--only <targets> Comma-separated subset: settings,keybindings,snippets,profiles,extensions
import { migrate, resolvePaths } from 'cursorport'

const paths = resolvePaths('backup-label')
const results = await migrate(paths, {
  dryRun: false,
  force: true,
  skipExtensions: false,
})

for (const r of results) {
  console.log(r.target, r.status, r.count)
}

macOS  ·  Linux  ·  Windows   —   User data and extension paths resolved per-OS automatically.