Skip to content
Happy Programming Guide
Start learning
AI for Programmers

GitHub Copilot Not Working in VS Code (“Language Model Unavailable”)

Copilot stopped suggesting, chat says the language model is unavailable, or the extension will not sign in? The causes in order of likelihood and the fix for each.

A small beetle photographed up close

When GitHub Copilot stops working it is usually one of five things: your sign-in has expired, the subscription or seat is not active, the extension and VS Code are out of step, a network or proxy is blocking it, or the chat model you have selected is not available on your plan. The “language model unavailable” message is almost always the last two. Work through them in this order.

Step 1: look at what Copilot says#

The Copilot icon in the status bar shows its state. Click it. A menu with Status or an error line tells you far more than guessing. Then open the log: View, Output, and choose GitHub Copilot or GitHub Copilot Chat from the dropdown. Authentication failures, blocked requests and model errors are all printed there in plain language.

Step 2: sign-in#

Tokens expire and organisations rotate policies. Sign out and back in:

  1. Click the Accounts icon at the bottom of the activity bar.
  2. Sign out of GitHub.
  3. Run GitHub Copilot: Sign In from the command palette and complete the browser flow.

If you have several GitHub accounts, make sure the one you signed in with is the one that holds the Copilot subscription. The Accounts menu lists which account each extension is using.

Step 3: the subscription#

On github.com, open Settings, then Copilot. It shows whether you have an active plan, a free-tier allowance, or a seat from an organisation. Three common surprises:

  • A free trial or free tier has run out of monthly completions or chat requests.
  • An organisation seat was removed or not yet assigned.
  • The organisation’s policy disables Copilot for certain features, such as chat or specific models.

Nothing in the editor can fix these; the Copilot page on GitHub is where they are resolved.

Step 4: versions#

Copilot is two extensions, GitHub Copilot and GitHub Copilot Chat, and both track VS Code releases closely. An old VS Code with a new extension, or the reverse, produces silent failures.

  1. Update VS Code: Help, Check for Updates.
  2. In the Extensions view, update both Copilot extensions.
  3. Run Developer: Reload Window.

If you are on a VS Code Insiders or pre-release extension, switching both back to stable clears a great many odd errors.

Step 5: network and proxy#

Copilot talks to GitHub’s servers constantly. Corporate proxies, VPNs and TLS inspection break it in ways that look like the extension being broken. The log will show connection refused, certificate, or 407 errors.

JSON
{
  "http.proxy": "http://proxy.company.example:8080",
  "http.proxyStrictSSL": false,
  "github.copilot.advanced": { "debug.useElectronFetcher": true }
}

If your network filters domains, the ones Copilot needs include github.com, api.github.com, copilot-proxy.githubusercontent.com and *.githubcopilot.com. Ask whoever runs the proxy to allow them; the GitHub documentation lists the complete current set.

A quick way to separate network from everything else: try on a phone hotspot. If Copilot works there, the problem is the network.

“Language model unavailable”#

This message comes from Copilot Chat and means the model you have selected cannot be used right now. Causes, most common first:

  • Your plan does not include that model. Premium models are limited or excluded on free and some business tiers. Open the model picker in the chat panel and choose a different one.
  • The organisation has not enabled it. Admins can allow or block individual models; check with them or pick an allowed one.
  • The monthly premium-request allowance is used up. The Copilot settings page on GitHub shows usage.
  • An outage. Check the GitHub status page before changing anything.
  • A stale session. Sign out and in, as in Step 2.

The fix in the first three cases is the model picker. Selecting the default model nearly always works even when others do not.

Inline suggestions stopped but chat works#

Completions can be disabled per language or globally without you noticing. Click the Copilot status icon and check whether completions are enabled for the current file type. Then look at the setting:

JSON
{
  "github.copilot.enable": { "*": true, "plaintext": false, "markdown": true }
}

A false for your language, or for *, is the cause. Another extension that takes over inline suggestions — a second AI assistant, for instance — will also suppress Copilot’s. Disable the other one to test.

Visual Studio and JetBrains#

The same causes apply. In Visual Studio 2026, Copilot is built in rather than an extension: check Tools, Options, GitHub, Copilot, and the account under File, Account Settings. In IntelliJ and the other JetBrains IDEs, the plugin needs to match the IDE version, and sign-in lives under Tools, GitHub Copilot.

Questions people ask#

Copilot worked yesterday and stopped today with no changes.

Usually an expired token or a used-up allowance. Sign out and in; check the usage on the GitHub Copilot settings page.

Is there a free version?

There is a free tier with a monthly limit on completions and chat requests. Once the limit is reached it stops until the next month, which looks exactly like a broken extension.

Can I use Copilot in a VS Code fork like Cursor?

The Copilot extensions are licensed for VS Code and are not available in the Open VSX registry that forks use. Forks bundle their own assistants instead.

The extension says it is disabled in this workspace.

Copilot can be disabled per workspace via the status icon or per-folder settings. Re-enable it from the icon, or check .vscode/settings.json in the project.

Where to go next#

Claude Code not working in VS Code or the terminalRead next

Keep reading

Keep going — pick your next guide

The fastest way to improve is to read one guide, then build the thing it describes. Start with the basics, or jump straight to a project.

Ask a question or share what worked

Your email address will not be published. Required fields are marked *