GitHub Copilot Not Working in VS Code: Safe Fixes to Try First
GitHub Copilot Not Working in VS Code: Safe Fixes to Try First TL;DR Start with sign-in, Copilot access, and extension state before changing VS Code settings. Many VS Code Copilot…
GitHub Copilot Not Working in VS Code: Safe Fixes to Try First
- Start with sign-in, Copilot access, and extension state before changing VS Code settings.
- Many VS Code Copilot failures come from authentication, extension conflicts, network policy, or workspace context.
- If Copilot Chat works but inline completions do not, troubleshoot editor settings and language context separately.
Overview
When GitHub Copilot is not working in VS Code, treat it as a layered failure: account access, extension activation, VS Code state, network path, then workspace behavior. Do not start by reinstalling everything. That can hide the real cause and remove evidence you may need if support is required. GitHub documents Copilot setup and editor integration in its official Copilot documentation, including VS Code usage details, at GitHub Copilot documentation. This guide focuses on practical triage for the VS Code extension path, not browser-only Copilot features or current service status claims.
- Confirm you are signed into the correct GitHub account in VS Code from the Accounts menu.
- Open Extensions with Ctrl + Shift + X or ⌘ + Shift + X, then check that GitHub Copilot and GitHub Copilot Chat are installed, enabled, and not disabled for the workspace.
- Run Developer: Reload Window from the Command Palette after authentication or extension changes.
- Test in a small trusted folder with a common language file such as JavaScript, Python, or TypeScript.
- Open View > Output and inspect Copilot output logs before reinstalling VS Code.
Symptoms
Copilot failures in VS Code often show up in one of four ways. Inline suggestions do not appear while typing. Copilot Chat opens but cannot answer. The extension stays installed but appears inactive. Or VS Code repeatedly asks for GitHub authentication. Some users also see language-specific behavior: completions work in one file but not another. Avoid assuming these symptoms have the same cause. Inline suggestions depend on editor focus, language context, and settings. Chat depends more visibly on authentication and extension activation. A blank suggestion area is not enough evidence to identify an outage, account problem, or VS Code bug.
Why This Happens
Common causes are usually ordinary integration failures, not proof that the model itself is unavailable or low quality. VS Code may be signed into a different GitHub account than the one with Copilot access. The extension may be disabled globally, disabled for the current workspace, blocked by a profile, or affected by another extension. Corporate networks can also interfere with authentication or outbound requests. Workspace trust, remote containers, WSL, SSH sessions, and proxy settings add another layer. GitHub’s troubleshooting guidance for Copilot is the best escalation reference for account and extension-level problems: GitHub Copilot troubleshooting documentation.
Step 1: Check GitHub sign-in and Copilot access
Verify the account used by VS Code
Open the Accounts menu in VS Code and confirm the GitHub identity matches the account you expect to use for Copilot.
Start with identity. In VS Code, select the Accounts icon in the lower-left Activity Bar, or run Accounts: Manage Trusted Extensions For Account from the Command Palette if you need to review account-linked extension access. Confirm the GitHub identity matches the account you expect to use for Copilot. VS Code can be authenticated to GitHub while Copilot still fails because the signed-in account is not the intended one. Sign out and sign back in only if the account shown in VS Code is wrong or stale. Then run Developer: Reload Window. If your organization manages Copilot access, check whether the account is allowed to use Copilot in that organization. Do not infer access from GitHub.com being reachable in a browser. Browser session, editor session, and organization policy can differ. This is the safest first check because it does not alter extensions or workspace files.
Step 2: Confirm the extension is installed and enabled
Check extension state before reinstalling
Open Extensions, search for GitHub Copilot, and verify it is enabled globally and for the current workspace.
Open the Extensions view with Ctrl + Shift + X on Windows or Linux, or ⌘ + Shift + X on macOS. You can also use View > Extensions. Search for GitHub Copilot. Open the extension page and check the button state. If you see Enable, the extension is disabled. If you see workspace-specific controls such as Enable (Workspace) or Disable (Workspace), check that Copilot is not disabled only for the current folder. Enabling it globally will not always fix a workspace-level disablement. Also check GitHub Copilot Chat if the chat panel is the failing surface. VS Code’s extension model supports per-workspace enablement, profiles, and extension management through the marketplace, documented in Visual Studio Code extension marketplace documentation.
Step 3: Separate inline completions from Copilot Chat
Test each Copilot surface independently
Try an inline suggestion in a code file, then test Copilot Chat from the chat view or command palette.
A useful diagnostic split: inline completions and chat are related but not identical workflows. If chat works and inline completions do not, inspect editor settings, language mode, and file context. Open Settings with Ctrl + , or ⌘ + ,, then search for inline suggest and confirm inline suggestions are enabled. You can also run Preferences: Open Settings (UI) from the Command Palette. Try a simple file in a common language and type a clear function stub. If inline completions work but chat fails, focus on the chat extension, authentication prompts, or blocked requests. This split is underused because many guides treat “Copilot” as one switch. In practice, each surface can fail differently and may produce different logs.
Step 4: Check workspace trust, language mode, and context
Reduce workspace variables
Test Copilot in a small trusted folder before debugging a large repository, remote workspace, or generated codebase.
Workspace state matters. VS Code’s trust model, remote extension host, file language mode, and repository size can change what the extension can do. Create a small local folder, open a normal source file, and check whether Copilot responds there. Use File > Open Folder, then choose or create a local test folder. If VS Code asks about trust, use a folder you are comfortable marking as trusted. Check the language mode in the lower-right status bar, or run Change Language Mode from the Command Palette. If Copilot works locally but not in your project, the issue is probably workspace-specific. Look for disabled extensions in the workspace, unusual language modes, generated files, remote containers, WSL, SSH, or policy-controlled folders. Avoid judging Copilot from an empty file with no useful context; a short function name, comment, or nearby code gives the extension more to work with.
A simple diagnostic scenario is to create a temporary trusted folder with one file named copilot-test.js, then type:
// Return the larger of two numbers
function maxOfTwo(a, b) {
If inline suggestions appear in that file but not in your main repository, do not keep changing account settings. Move the investigation to the repository’s workspace settings, remote host, language mode, profile, or extension state.
Step 5: Inspect logs and network constraints
Use logs before destructive fixes
Open the Output panel and inspect GitHub Copilot-related channels for authentication, proxy, or request failures.
Open the Output panel with View > Output, or use Ctrl + Shift + U on Windows or Linux and ⌘ + Shift + U on macOS. In the Output channel dropdown, select Copilot-related channels if available, such as GitHub Copilot or GitHub Copilot Chat. Look for authentication loops, proxy failures, certificate errors, or extension activation messages. In managed environments, a proxy, TLS inspection tool, firewall rule, or VPN may block the editor while GitHub works in a browser. The browser may have a different certificate store, cookie state, or network policy than VS Code. If you are on a company device, capture the log text and share it with the administrator rather than guessing which domain or port is blocked. This preserves evidence and avoids unnecessary local resets.
Sanitized examples of useful log clues may look like this:
[info] GitHub Copilot extension activated
[warning] Authentication required for GitHub account: user@example.com
[error] Request failed: proxy authentication required
[error] certificate verify failed: unable to get local issuer certificate
[warning] Copilot disabled for this workspace
Before sharing logs, remove access tokens, private repository names, file paths that reveal confidential projects, and source code snippets.
Safe reset sequence
Use a reset sequence only after sign-in, extension state, workspace, and logs have been checked. First reload the VS Code window by running Developer: Reload Window. Next, disable and re-enable the GitHub Copilot extension from the Extensions view. Then update VS Code and the extension through normal update channels if updates are available. If the problem remains, uninstall and reinstall only the Copilot extension, not every extension. As a last local step, test with a clean VS Code profile by using File > Preferences > Profiles > Create Profile or running Profiles: Create Profile from the Command Palette. This approach is slower than a blind reinstall, but it keeps settings and evidence intact. It also helps identify whether the issue follows your profile, your workspace, or your account.
Suggested order:
1. Run Developer: Reload Window
2. Re-authenticate GitHub account if account state is wrong
3. Disable and re-enable GitHub Copilot from Extensions
4. Update VS Code and extensions if updates are available
5. Test in a clean VS Code profile
6. Reinstall only the Copilot extension if needed
Developer environment gotchas
Remote environments are a common source of confusing Copilot behavior. VS Code can run extensions locally or in a remote extension host depending on SSH, WSL, containers, or Codespaces-style workflows. If Copilot works in a local folder but not remotely, check where the extension is installed and enabled. In a remote window, open Extensions and look for whether GitHub Copilot is installed for the local side, the remote side, or both where required by that workflow. Also verify that the remote environment has the expected language tooling and file access. Another gotcha: workspace profiles can hide the extension even when it appears installed elsewhere. Recommendation: use a clean local folder to prove account and extension health first; debug remote development only after local behavior is known.
Do not troubleshoot Copilot, VS Code, remote development, and corporate networking at the same time; isolate one layer first.
When not to spend more time locally
Stop local troubleshooting when the evidence points outside VS Code. Examples include repeated authentication redirects for the correct account, organization-managed access uncertainty, proxy or certificate errors in logs, or the same failure across multiple clean VS Code profiles and devices. At that point, collect useful data: VS Code version from Help > About on Windows or Linux, or Code > About Visual Studio Code on macOS; installed Copilot extension names and versions from the Extensions view; account type; operating system; whether the issue is local or remote; and sanitized log excerpts. Do not add claims about current outages unless you have checked an official status or support source yourself.
If It Still Fails
If GitHub Copilot still does not work in VS Code, escalate with a narrow report. Include whether the failure affects inline completions, chat, or both. State whether it reproduces in a clean local folder and a clean VS Code profile. Add the relevant Copilot output log lines after removing tokens, repository secrets, and private code. If your account is managed by an organization, ask the administrator to confirm Copilot access and network policy. If the issue appears specific to VS Code, compare behavior in another supported editor only as a diagnostic, not as a permanent workaround.
FAQ
Why is GitHub Copilot not showing suggestions in VS Code?
Copilot may be signed into the wrong GitHub account, disabled in the workspace, blocked by settings, or lacking useful file context. Check account state, extension enablement, inline suggestion settings, and a simple trusted test file before reinstalling anything.
Why does Copilot Chat work but inline completions do not?
Chat and inline completions use different VS Code surfaces. If chat works, authentication is probably not the first suspect. Check editor settings, language mode, workspace trust, and whether inline suggestions are disabled for the current file or profile.
Should I reinstall VS Code to fix Copilot?
No, not as an early step. Reload the window, verify sign-in, check extension state, inspect logs, and test a clean profile first. Reinstalling VS Code can remove evidence and often does not isolate the cause.
Can a VPN or company proxy break Copilot in VS Code?
Yes. VS Code may use a different network path or certificate behavior than your browser. If logs show proxy, certificate, or request failures, involve your administrator instead of bypassing managed security controls.
How do I know if the issue is my workspace?
Open a small local trusted folder and test Copilot in a normal source file. If Copilot works there but not in your repository, focus on workspace settings, profiles, remote hosts, language mode, or repository-specific policy.
Where should I look for Copilot errors in VS Code?
Open View > Output and select Copilot-related channels if available. Capture authentication, activation, proxy, or request messages. Remove secrets and private code before sharing logs with support or an administrator.