You use GitHub Copilot on multiple machines and want your settings, keyboard shortcuts, and extension configurations to match everywhere. Manually copying configuration files between computers is error-prone and time-consuming. Visual Studio Code includes a built-in feature called Settings Sync that can synchronize your entire editor configuration, including GitHub Copilot settings, across devices. This article explains how to enable Settings Sync and confirm that your Copilot preferences are included in the sync.
Key Takeaways: Sync Copilot Settings with VS Code Settings Sync
- VS Code Settings Sync (File > Preferences > Turn on Settings Sync): Syncs editor settings, keybindings, extensions, and UI state across devices using a Microsoft or GitHub account.
- Copilot extension version and machine-wide config: The extension itself syncs automatically; only the machine-wide Copilot configuration file must be copied manually if stored outside the user folder.
- Turn on Settings Sync on each device: Sign in with the same account on every machine to merge settings and keep Copilot behavior identical.
How VS Code Settings Sync Works with Copilot Settings
VS Code Settings Sync stores your user settings, keybindings, extensions, and snippets in the cloud. When you turn it on, the editor uploads your configuration to a storage service linked to your Microsoft or GitHub account. On another device, you sign in with the same account and the editor downloads and applies the configuration.
GitHub Copilot stores most of its configuration in standard VS Code settings files. This includes the Copilot extension’s enabled state, the model selection, the suggestion delay, and the list of disabled languages. Because these settings live in the standard settings.json file, Settings Sync captures them without extra steps.
One exception is the machine-wide Copilot configuration file. This file is stored at %APPDATA%\GitHub Copilot\config.json on Windows or ~/.config/github-copilot/config.json on macOS and Linux. It contains the authentication token and proxy settings. Settings Sync does not touch this file because it is outside the VS Code user data directory. You must copy it manually or sign in again on each device.
Steps to Enable Settings Sync and Confirm Copilot Settings Are Included
Turn On Settings Sync on Your Primary Device
- Open VS Code and navigate to Settings Sync
Open the File menu, select Preferences, and then click Turn on Settings Sync. Alternatively, press Ctrl+Shift+P to open the Command Palette, type Settings Sync: Turn On, and press Enter. - Choose a sign-in method
In the dialog that appears, select either Sign in with Microsoft or Sign in with GitHub. Using GitHub is recommended because it matches the account you use for Copilot authentication. - Select what to sync
After signing in, a selection dialog shows four categories: Settings, Keyboard Shortcuts, Extensions, and UI State. Ensure all four checkboxes are checked. Extensions must be enabled so that the Copilot extension and its configuration are included. - Confirm the sync is active
Look at the bottom-left corner of the VS Code window. A gear icon with a rotating arrow indicates that sync is running. Click the gear icon and select Show Synced Data to see what was uploaded.
Turn On Settings Sync on a Secondary Device
- Install VS Code and sign in to the same account
On the second machine, open VS Code. Go to File > Preferences > Turn on Settings Sync. Sign in with the same Microsoft or GitHub account you used on the primary device. - Replace or merge local configuration
VS Code will detect that remote settings exist. Choose Replace Local Configuration to overwrite the secondary device’s settings with the primary device’s settings. If you have local customizations you want to keep, choose Merge with Local Configuration. - Verify that the Copilot extension installed
Open the Extensions view by pressing Ctrl+Shift+X. Search for GitHub Copilot. The extension should appear as installed. If it is not installed, click Install. The extension version will match the primary device because Settings Sync records the extension version and installs it automatically. - Sign in to Copilot on the secondary device
Open the Command Palette with Ctrl+Shift+P, type GitHub Copilot: Sign In, and press Enter. Follow the browser-based authentication flow. This step is required because the authentication token in the machine-wide config file is not synced.
Verify That Copilot Settings Synced Correctly
- Open the settings editor
Press Ctrl+, to open the Settings editor. In the search bar, type copilot. Review the values for Copilot: Enable, Copilot: Model, and Copilot: Suggest Delay. These should match the values on your primary device. - Check the keybindings file
Open the Command Palette, type Preferences: Open Keyboard Shortcuts (JSON), and press Enter. Look for any Copilot-specific keybindings such as github.copilot.accept or github.copilot.reject. If you customized these on the primary device, they should appear here. - Test Copilot in a code file
Open a supported file type such as Python or JavaScript. Start typing a comment like // function to calculate. Copilot should show suggestions with the same behavior as on the primary device.
Common Issues When Syncing Copilot Settings
Copilot Extension Did Not Install Automatically
Settings Sync installs extensions based on the list stored in the cloud. If the Copilot extension does not appear on the secondary device, the sync may have failed to download the extension list. Open the Extensions view, click the gear icon next to GitHub Copilot, and select Install. After installation, restart VS Code and sign in to Copilot again.
Copilot Settings Are Different After Sync
If you selected Merge with Local Configuration during setup, local settings may override the synced Copilot preferences. To force an overwrite, open the Command Palette, type Settings Sync: Turn Off, and confirm. Then turn Settings Sync on again and select Replace Local Configuration. This uploads the local settings from the primary device and applies them to the secondary device.
Copilot Prompts for Authentication on Every Device
As noted earlier, the machine-wide configuration file that stores the authentication token is not part of VS Code Settings Sync. You must sign in to Copilot on each device individually. To avoid repeated sign-ins, copy the config.json file from the primary device to the same path on the secondary device. Be aware that this file contains your authentication token, so treat it as sensitive data.
Settings Sync vs Manual Configuration: Key Differences
| Item | VS Code Settings Sync | Manual Configuration |
|---|---|---|
| Setup time | Less than 5 minutes per device | 15 to 30 minutes per device |
| Error risk | Low, because the process is automated | High, because files can be misplaced or mistyped |
| Copilot extension version | Synced automatically | Must be installed and updated manually on each device |
| Copilot settings in settings.json | Synced automatically | Must be copied and pasted manually |
| Copilot authentication token | Not synced (outside VS Code scope) | Must be copied manually or re-authenticated |
| Copilot machine-wide config | Not synced | Must be copied manually |
You can now sync GitHub Copilot settings across devices using VS Code Settings Sync. Turn on the feature on your primary machine, sign in with the same account on other devices, and verify that the Copilot extension and preferences match. For the authentication token and machine-wide config file, you need to sign in separately on each device or copy the config.json file manually. To further streamline your workflow, explore the VS Code Settings Sync preview pane to see exactly which settings differ between devices before applying changes.