Introduction

VS Code's Settings Sync feature keeps your preferences, keybindings, snippets, and extensions synchronized across multiple machines. When it stops working, you might find your settings not transferring, extensions missing on new devices, or mysterious sync errors in the output. This guide walks through the common failure modes and their fixes.

Symptoms

Common error messages include:

bash
Settings Sync: Show Synced Data
bash
Error: Authentication failed for GitHub
Token expired or revoked
json
// settings.json
"settingsSync.ignoredSettings": [],
"settingsSync.ignoredExtensions": [],
"settingsSync.keybindingsPerPlatform": false

Common Causes

  • Settings don't appear on new devices after signing in
  • "Settings Sync: Off" appears in the Accounts menu
  • Conflicts dialog appears but won't resolve
  • Extensions not syncing despite sync being enabled
  • Keybindings or snippets missing on secondary machines

Check Sync Status

First, verify your sync configuration:

Open Settings Sync from the gear icon menu, or press Ctrl+Shift+P and run:

bash
Settings Sync: Show Synced Data

This opens a view showing what's being synchronized and when the last sync occurred.

Step-by-Step Fix

Step 1: Verify Authentication

The most common cause is authentication issues with GitHub or Microsoft accounts.

Check if you're signed in:

  1. 1.Click the Accounts icon in the Activity Bar (bottom left)
  2. 2.Look for your GitHub or Microsoft account
  3. 3.If missing, click "Sign in to Sync Settings"

If sign-in fails, check the Output panel:

Press Ctrl+Shift+U, select "Settings Sync" from the dropdown, and look for authentication errors like:

bash
Error: Authentication failed for GitHub
Token expired or revoked

Fix authentication issues:

  1. 1.Run: GitHub: Sign Out or Microsoft: Sign Out
  2. 2.Clear saved credentials:
  3. 3.- Windows: Open Credential Manager, remove GitHub/VS Code entries
  4. 4.- macOS: Open Keychain Access, search for "vscode" and delete entries
  5. 5.- Linux: Clear ~/.config/Code/User/globalStorage/vscode.github*/
  6. 6.Sign in again from the Accounts menu

Step 2: Check Sync Settings

Open settings.json and verify sync configuration:

json
// settings.json
"settingsSync.ignoredSettings": [],
"settingsSync.ignoredExtensions": [],
"settingsSync.keybindingsPerPlatform": false

If you've accidentally ignored settings, remove them from the ignored list.

Check which items are being synced:

json
// These should be true for items you want to sync
"settingsSync.syncKeybindings": true,
"settingsSync.syncSettings": true,
"settingsSync.syncExtensions": true,
"settingsSync.syncSnippets": true,
"settingsSync.syncUIState": true

Step 3: Force a Manual Sync

Sometimes automatic sync gets stuck. Force a manual sync:

bash
Settings Sync: Sync Now

Or use the keyboard shortcut: Shift+Alt+U (download) or Shift+Alt+D (upload).

Watch the Output panel during sync for errors.

Step 4: Resolve Sync Conflicts

When settings differ between local and remote, you'll see a conflict notification.

Open the conflict resolution:

bash
Settings Sync: Show Conflicts

For each conflict, choose: - Accept Local: Keep your current machine's setting - Accept Remote: Use the synced setting - View Differences: Compare side by side

A common issue is the conflict view not opening properly. If this happens:

json
// settings.json - Enable conflict resolution
"settingsSync.conflictsResolution": "acceptLocal"

Then manually merge your settings.

Step 5: Check Network and Proxy Settings

Sync fails silently when network access is blocked.

Verify connectivity:

json
// settings.json
"http.proxy": "",
"http.proxyStrictSSL": true,
"http.proxySupport": "on"

If you're behind a corporate proxy:

json
// settings.json
"http.proxy": "http://proxy.company.com:8080",
"http.proxySupport": "on",
"http.proxyStrictSSL": false

Test connectivity by opening a terminal in VS Code and running:

bash
curl -v https://vscode-sync.trafficmanager.net/

Step 6: Reset Sync Data

If sync is completely broken, reset and start fresh:

Warning: This deletes all your synced data.

  1. 1.Open Command Palette
  2. 2.Run: Settings Sync: Reset Synced Data
  3. 3.Confirm the reset
  4. 4.Run: Settings Sync: Turn On
  5. 5.Sign in and select what to sync

Alternatively, reset via GitHub:

  1. 1.Go to github.com/settings/tokens
  2. 2.Find the VS Code token and delete it
  3. 3.Sign in again in VS Code

Step 7: Sync Extensions Properly

Extensions sometimes fail to sync due to:

Extension not in marketplace: If you installed an extension from a VSIX file or private registry, it won't sync.

Different platform: Some extensions are platform-specific. Check:

json
// settings.json
"settingsSync.ignoredExtensions": [
    "publisher.extension-name"
]

Extension installation pending: Extensions queue for installation. Check:

bash
Extensions: Show Recommended Extensions

Look for pending installations in the Extensions view.

Step 8: Check Storage Limits

GitHub Gists (used for sync storage) have limits:

  • 1 MB per file
  • 250 MB per gist
  • 10,000 files total

If you exceed limits, reduce what's synced:

json
// settings.json - Exclude large snippets or themes
"settingsSync.ignoredSettings": [
    "workbench.colorTheme",
    "workbench.iconTheme"
]

Platform-Specific Issues

Windows Sync Issues

Windows may block sync due to UAC or antivirus:

  1. 1.Add VS Code to Windows Defender exclusions
  2. 2.Check that %APPDATA%\Code\User is writable
  3. 3.Run VS Code as administrator temporarily to test

macOS Sync Issues

macOS Keychain can get corrupted:

  1. 1.Open Keychain Access
  2. 2.Search for "vscode"
  3. 3.Delete all VS Code entries
  4. 4.Sign in again

Linux Sync Issues

On Linux, secret storage may not be configured:

json
// settings.json
"window.restoreWindows": "all"

Install a secrets daemon if needed:

```bash # For GNOME-based systems sudo apt install gnome-keyring

# For KDE sudo apt install kwallet ```

Verification

After fixing, verify sync works:

  1. 1.Make a change to settings.json
  2. 2.Wait 30 seconds or force sync
  3. 3.Check Output panel for successful sync
  4. 4.Open another machine and verify the change appears

Check sync status:

bash
Settings Sync: Show Sync Activity

Prevention

  • Keep VS Code updated to get sync fixes
  • Avoid manually editing the sync gist on GitHub
  • Don't exceed storage limits
  • Regularly verify sync is working on all devices
  • VS Code Extension Crash
  • VS Code Update Failed
  • VS Code Workspace Storage Error
  • VS Code Extensions Folder Issues
  • [VS Code Auto Save Not Working](fix-vscode-auto-save)
  • [VS Code Bracket Colorization Not Working](fix-vscode-bracket-colorization)
  • [Fix Fix Vscode Copilot Not Working Issue in VS Code](fix-vscode-copilot-not-working)
  • [VS Code Debugger Not Attaching - Complete Troubleshooting Guide](fix-vscode-debugger-not-attaching)
  • [Fix VS Code Debugging Not Stopping at Breakpoints: Breakpoints Ignored](fix-vscode-debugging-breakpoints-not-working)

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "TechArticle", "headline": "VS Code Settings Sync Not Working", "description": "Resolve VS Code settings sync issues including authentication problems, sync conflicts, and missing settings across devices.", "url": "https://www.fixwikihub.com/fix-vscode-settings-sync", "publisher": { "@type": "Organization", "name": "FixWikiHub", "url": "https://www.fixwikihub.com" }, "author": { "@type": "Person", "name": "FixWikiHub Editorial Team" }, "datePublished": "2025-11-17T15:52:39.142Z", "dateModified": "2025-11-17T15:52:39.142Z" } </script>