GitHub Copilot Not Suggesting? The Diagnostic Ladder

GitHub Copilot fails the way utilities fail: silently, totally, and at the worst moment — mid-flow, no error, just a normal editor where there used to be magic. Because completions depend on auth, network, editor state and quota simultaneously, the cause could live in four places at once. This guide gives you the diagnostic ladder that finds it in minutes: status first, auth second, network third, editor fourth — with a fallback that keeps deadlines safe regardless of which rung holds the answer.
Status and auth: the first two minutes
Copilot's UI fails silently while its logs fail verbosely — always check the extension log before touching anything. Auth session expiry is the top cause of sudden death: the token lapses, ghosts vanish, and nothing announces it. Signing out and back in through the extension resolves an astonishing share of incidents in under a minute.
Next verify the seat itself: trial expired, subscription lapsed, organization seat revoked, billing failed. These all present identically — working editor, dead AI — and only the account page distinguishes them. Confirm identity too: personal versus organization accounts, correct GitHub user in the IDE. Two minutes here saves the classic hour of reinstalling a healthy extension over a dead entitlement.
- Status indicator and extension log first
- Silent UI versus chatty logs
- Re-authentication as the one-minute fix
- Seat and trial state verification
Network: the invisible wall
Corporate networks break Copilot constantly while leaving browsers functional: proxies requiring auth, firewalls allow-listing by domain, VPNs routing API traffic into black holes. Test connectivity to the Copilot API hosts directly rather than assuming the network is fine because web pages load. The failure pattern is distinctive — everything local works, everything remote silently does nothing.
Determine whether the failure follows the network or the machine by testing another network: tethering to a phone settles it in minutes. If tethering revives completions, the corporate network is the author; involve IT with specific hostnames, not vibes. Document working proxy configurations per office, because these break on network changes and nobody remembers last year's fix without notes.
- Proxies, VPNs and firewalls as usual suspects
- API hosts reachable while browsing works
- Failure follows network or machine?
- Proxy settings and allow-lists
Editor state and local context
If auth and network check out, the editor is the scene. Confirm the extension is enabled for the workspace (not just installed), check for version regressions after updates, and reload before reinstalling — reinstalls reset state you might have wanted to diagnose. Chat working while completions fail points squarely at local context: file type support, file size throttles, exclusion rules, or index state.
Inspect ignore files and exclusion settings for silently skipped paths; monorepo rules added for performance routinely orphan the exact files you are editing today. Verify language mode and grammar health for file-specific failures. These local causes share a trait: they affect some files while sparing others, which is precisely the pattern that distinguishes them from account or network deaths.
- Extension state and version regressions
- File types, sizes and exclusion rules
- Chat-versus-completion split as diagnostic
- Reloads before reinstalls, always
The fallback that removes the fear
Keep one metered API key plus a second client configured permanently — Claude Code, Cline or plain scripts. When Copilot dies mid-deadline, tickets continue on independent plumbing within minutes instead of waiting on a fix with unknown ETA. The fallback costs nothing idle and has saved more deadlines than any diagnostic ladder ever will.
This is not disloyalty to the tool; it is insurance arithmetic. Extensions have outage days, auth systems hiccup, corporate networks change without notice. A five-minute fallback setup converts each of those from an emergency into a footnote. Test the fallback monthly with a trivial request — untested fallbacks fail exactly when the primary does, which is when you needed them most.
- Metered key plus second client
- Deadlines independent of one extension
- Same models, different plumbing
- Fallback tested before need
The ladder, memorized
Status, auth, network, editor — always in that order, one variable changed at a time. Log what you checked and what each check showed; the discipline feels slow and is dramatically faster than parallel guessing. When the fix lands, write down cause plus remedy, because Copilot failures recur in the same shapes and future-you will thank present-you.
Maintain the fallback regardless of current health. The developers who never panic about dead completions are not lucky — they have two independent routes and a written ladder. Build both on a calm day and outages become maintenance: annoying, bounded, survivable. That is the entire philosophy of operating AI tools professionally.
- Status, auth, network, editor — in order
- One variable at a time, always
- Document the fix with the cause
- Fallbacks as permanent insurance
Frequently asked questions
Why did Copilot stop suggesting suddenly?
In order: signed-out session, expired trial or seat, network or proxy blocking, extension disabled or crashed, file excluded. Walk the ladder instead of reinstalling blindly — reinstalls fix account problems never.
How do I check if Copilot is authenticated?
Check the status indicator and the extension log first. Auth failures announce themselves quietly in logs while the UI just goes silent. Re-authentication resolves most sudden deaths in under a minute.
Could my network be blocking Copilot?
Corporate proxies, VPNs and firewalls commonly break Copilot's endpoints while browsing works fine. Test raw connectivity to the API hosts, inspect proxy settings, and check whether the failure follows the network or the machine.
Copilot chat works but completions do not — why?
Yes for completions specifically: file type support varies, huge files throttle, and certain ignore rules exclude paths silently. If chat works but ghosts do not, the cause is almost always local context, not account state.
What if it is an organization seat issue?
Verify seat status with your admin, confirm the extension version matches a known-good one, and keep a metered API key as fallback so deadlines never depend on one extension's mood.
Related guides
- GitHub Copilot Alternative: Pair Programming vs Autonomous Agents
- GitHub Copilot Premium Requests: Limits and the Metered Escape
Keep your coding workflow moving
Kintio provides an Anthropic-compatible API for Claude Code and other developer tools. Review the fit for your workload before switching.
Explore Kintio →Last updated: