You open Visual Studio Code after installing an update and notice that GitHub Copilot no longer shows inline suggestions. The Copilot icon might still be visible, but the gray ghost text that usually appears as you type is gone. This happens because VS Code updates can reset certain extension settings, disable the extension, or break the authentication token that Copilot uses to connect to GitHub. This article explains the three main reasons for this problem and provides the exact steps to restore Copilot functionality.
Key Takeaways: Restoring Copilot After a VS Code Update
- VS Code > Extensions > Copilot extension status: Check whether the extension is enabled or disabled after an update.
- VS Code Settings > Editor: Inline Suggest: Re-enable the setting that controls whether Copilot shows suggestions inline.
- GitHub account re-authentication: Sign out and sign back into your GitHub account inside VS Code to refresh the token.
Why VS Code Updates Disable Copilot Suggestions
VS Code updates can affect Copilot in three distinct ways. Understanding each cause helps you apply the correct fix quickly.
Extension State Reset
When VS Code updates, it sometimes reinstalls or re-enables extensions. In rare cases, the update process can disable certain extensions, including GitHub Copilot. The extension remains installed, but its state changes from enabled to disabled. This is the most common reason suggestions disappear.
Setting Override
VS Code stores user settings in a JSON file called settings.json. An update can add or modify settings that control Copilot behavior. The setting editor.inlineSuggest.enabled must be set to true for Copilot to show inline suggestions. If the update resets this setting to its default value of true, it should still work. However, if you have a custom configuration that overrides this setting, the update might change the scope or value. Additionally, the setting github.copilot.enable controls Copilot activation per language. An update can alter this setting, causing Copilot to stop suggesting in certain file types.
Authentication Token Expiry
Copilot relies on an OAuth token linked to your GitHub account. A VS Code update can invalidate this token, especially if the update changes the way VS Code stores credentials. When the token expires, Copilot cannot communicate with the GitHub server, and it stops generating suggestions. The Copilot status bar icon may show a warning or remain silent.
Steps to Re-enable Copilot Suggestions After a VS Code Update
Follow these steps in order. After each step, test Copilot by typing a code comment or a function name in a supported language file.
- Check if the Copilot extension is enabled
Open VS Code. Click the Extensions icon in the left Activity Bar or press Ctrl+Shift+X. In the search box typeGitHub Copilot. If the extension shows a gray Disable button, it is enabled. If it shows a blue Enable button, click it to enable the extension. Wait a few seconds for the extension to activate. - Verify the inline suggest setting
Open the Command Palette by pressing Ctrl+Shift+P. TypePreferences: Open Settings (JSON)and press Enter. In the settings.json file, check that the line"editor.inlineSuggest.enabled": trueexists. If it is set tofalse, change it totrue. If the line is missing, add it. Save the file and close it. - Enable Copilot for your programming language
Open settings.json again. Add or modify the line"github.copilot.enable": {"": true}. This enables Copilot for all languages. If you want to restrict it, replacewith a specific language identifier like"python". Save the file. - Re-authenticate your GitHub account
Click the Accounts icon in the bottom-left corner of the VS Code window. Select Sign out from the GitHub account that Copilot uses. Then click Sign in with GitHub. A browser window opens. Log in to GitHub and authorize VS Code. After authorization, return to VS Code. The Copilot icon in the status bar should show a checkmark. - Reload the VS Code window
Open the Command Palette with Ctrl+Shift+P. TypeDeveloper: Reload Windowand press Enter. This forces VS Code to reload all extensions and settings without closing the application. - Test Copilot in a new file
Create a new file with a supported language extension like .py or .js. Typedeffor Python orfunctionfor JavaScript. Copilot should show a gray ghost suggestion. Press Tab to accept it.
If Copilot Still Has Issues After the Main Fix
Copilot icon shows a warning triangle
A warning icon means Copilot cannot connect to the server. This is usually a network issue. Check that your internet connection is active. If you are behind a corporate proxy, configure VS Code to use the proxy. Open settings.json and add "http.proxy": "http://your-proxy-address:port". Save the file and reload the window.
Copilot suggests only in some file types
This happens when the github.copilot.enable setting is configured per language. Open settings.json and ensure the line "github.copilot.enable": {"": true} is present. If you see a list of specific languages, remove them or replace the entire object with {"": true}.
Copilot suggestions appear but are empty or incomplete
This is often caused by a corrupt Copilot extension cache. Disable the Copilot extension, close VS Code, and delete the Copilot cache folder. On Windows, the folder is located at %USERPROFILE%\.vscode\extensions\github.copilot-. On macOS and Linux, it is ~/.vscode/extensions/github.copilot-. After deleting the folder, restart VS Code and re-enable the extension. VS Code will download a fresh copy of the extension.
Copilot Settings Comparison: Before and After a VS Code Update
| Setting | Default Before Update | Possible State After Update |
|---|---|---|
| editor.inlineSuggest.enabled | true | true (unchanged) or false (if custom override lost) |
| github.copilot.enable | {““: true} | {““: true} or empty object or language-specific map |
| GitHub authentication token | Valid | Expired or invalid |
| Extension enabled state | Enabled | Disabled |
After applying the steps above, Copilot should resume normal behavior. If the problem persists, disable all other extensions temporarily to rule out conflicts. Re-enable them one by one to identify the conflicting extension.