Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Cursor SSH Settings SyncNew to Visual Studio Code? Get it now.
Cursor SSH Settings Sync

Cursor SSH Settings Sync

nixomose

| (0) | Free
Sync Cursor/VS Code settings across machines using your own SSH server — Settings, keybindings, snippets, tasks, extensions, UI state, and profiles.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Cursor SSH Settings Sync

Sync your Cursor (or VS Code) preferences across machines using your own SSH server as the backend — the same idea as VS Code Settings Sync, without Microsoft/GitHub cloud.

Why a Cursor extension (not a separate VS app)?

Cursor is a VS Code fork and speaks the same extension API, but it does not ship VS Code’s built-in Settings Sync. An extension is the right vehicle: it can read/write the User data directory, install extensions, show conflict diffs, and run on every install you use. Publishing as a normal VS Code-compatible extension means it works in Cursor (and VS Code if you want).

What syncs (mirrors VS Code Settings Sync)

Resource Details
Settings settings.json, with machine-scoped / ignored keys stripped
Keyboard shortcuts keybindings.json (per-OS by default)
User snippets User/snippets/**
User tasks tasks.json
Extensions Installed extension IDs; missing ones are installed on pull
UI state Lightweight sidecar snapshot (language + sync metadata)
Profiles User/profiles/** when present

Also included:

  • Turn on / Turn off with optional remote clear
  • Configure which resources sync
  • Merge / Replace Local when remote data already exists
  • Conflict resolution: Accept Local, Accept Remote, or Show Conflicts (diff)
  • Three-way merge using last-successful-sync as base
  • Local backups (default 30 days) and remote history (default 20 versions)
  • Synced machines registry on the server
  • Background auto-sync + sync shortly after settings files change
  • Status bar indicator and Output channel log

Remote store layout

On the SSH host (default ~/cursor-ssh-sync):

cursor-ssh-sync/
  machines/<machineId>.json
  resources/
    settings/content.json
    keybindings/linux.json   # or darwin.json / win32.json
    tasks/content.json
    extensions/content.json
    uiState/content.json
    snippets/...
    profiles/...
  history/<resource>/<timestamp>.json

Requirements

  • Cursor or VS Code 1.85+
  • Node build tools only needed to compile from source
  • An SSH server you can reach (key-based auth recommended; password stored in editor Secret Storage)
  • Outbound TCP to your SSH port

Install

From a GitHub Release (recommended until marketplaces are configured)

  1. Download the latest .vsix from Releases
  2. Cursor → Extensions → ⋯ → Install from VSIX…

From source

git clone https://github.com/nixomose/cursor-ssh-sync.git
cd cursor-ssh-sync
npm ci
npm run package   # → nixomose-cursor-ssh-sync-*.vsix

Then Install from VSIX… in Cursor.

Publishing to the VS Code Marketplace and Open VSX (Cursor’s gallery) is documented in PUBLISHING.md.

Setup

  1. Command Palette → Cursor SSH Sync: Configure SSH Connection...
  2. Enter host, port, username, private key path (or password), and remote directory
  3. Cursor SSH Sync: Turn On...
  4. Pick what to sync
  5. If the server already has data: choose Merge, Replace Local, or Merge Manually...

Repeat Turn On on each machine pointing at the same SSH store.

Useful commands

Command Purpose
Cursor SSH Sync: Turn On... Enable sync + first sync
Cursor SSH Sync: Turn Off... Disable (optionally clear remote)
Cursor SSH Sync: Sync Now Manual sync
Cursor SSH Sync: Configure... Toggle resources
Cursor SSH Sync: Show Synced Data Machines + last outcome + backups
Cursor SSH Sync: Open Local Backups Folder Reveal local backup dir
Cursor SSH Sync: Show Log Output channel
Cursor SSH Sync: Show Conflicts Diff local vs remote

Settings of note

  • cursorSshSync.ignoredSettings — extra keys never synced
  • cursorSshSync.ignoredExtensions — extension IDs to skip
  • cursorSshSync.keybindingsPerPlatform — default true (VS Code behavior)
  • cursorSshSync.autoSyncIntervalMinutes — default 5
  • cursorSshSync.ssh.* — connection details

Machine-specific defaults (proxy, terminal shells, zoom, etc.) are excluded automatically, matching VS Code’s approach. Keys matching password / secret / token / apiKey are also skipped.

Security notes

  • Prefer SSH keys; passwords go through VS Code/Cursor Secret Storage
  • The remote directory holds your editor prefs — keep the server and path private (chmod 700 recommended)
  • This extension does not sync workspace .vscode folders or secrets you intentionally keep out of user settings

Development

npm run watch     # rebuild on change
npm run lint      # typecheck
npm run package   # produce .vsix

Press F5 in this workspace (with the Extension Development Host) to try a live debug session once a .vscode/launch.json is present.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft