The same question that gives you a clean, multi-file answer on gemini.google.com gives you a single-function hallucination inside the Gemini Code Assist plugin in VS Code or JetBrains. Or the inline completions stop firing entirely. Or you switched the chat model and the next reply still says I am Gemini 2.5 — a model retired in early 2026.
Read this first (the single biggest cause as of June 2026). On June 18, 2026, Google stopped serving requests through the Gemini Code Assist IDE extensions and the old Gemini CLI for Gemini Code Assist for individuals, Google AI Pro ($19.99/mo), and Google AI Ultra ($99.99/mo) users. If you are on one of those tiers, the plugin is no longer the right tool — you migrate to Google Antigravity (the desktop app, “Antigravity 2.0”) or the Antigravity CLI (the agy binary). Migration docs: antigravity.google/docs/gcli-migration. If your organization has a Gemini Code Assist Standard or Enterprise license, the plugin still works normally and the resync steps below apply to you.
So before you debug anything, answer one question:
| Your tier | Is the IDE plugin still served? | What to do |
|---|---|---|
| Code Assist for individuals (free) | No, since Jun 18 2026 | Migrate to Antigravity / Antigravity CLI |
| Google AI Pro ($19.99) | No, since Jun 18 2026 | Migrate to Antigravity / Antigravity CLI |
| Google AI Ultra ($99.99) | No, since Jun 18 2026 | Migrate to Antigravity / Antigravity CLI |
| Code Assist Standard / Enterprise | Yes | Use the resync steps below |
| Code Assist for GitHub (enterprise, via Cloud) | Yes | Unaffected (the consumer GitHub app is deprecated Jun 18 2026) |
If you are a Standard/Enterprise user and the plugin still drifts, the rest of this article is the fix. Code Assist runs on the same Gemini family as the web app, but the IDE plugin has its own model routing, its own Google Cloud project binding, its own context index, and its own auth refresh cycle. Any of those can drift out of sync.
Common causes
Ordered by hit rate, highest first.
1. You are on a sunset tier (individual / AI Pro / AI Ultra)
This is now the top cause. After June 18, 2026 the plugin on these tiers either returns errors, silently degrades, or keeps you on a stale model with no clear warning. No amount of re-auth fixes it because the backend stopped serving those tiers.
How to spot it: open the plugin’s status panel or Settings and check your subscription. If it shows individual / AI Pro / AI Ultra (not Standard or Enterprise), you are on a sunset tier. Migrate to Antigravity.
2. Plugin version is months behind the model release
For the tiers still served, Google ships new Gemini snapshots roughly monthly, but the plugin updates on a slower cadence and the IDE marketplace caches old versions. A plugin a few minor versions behind can be pinned to a retired model name with no UI hint.
How to spot it: ask the chat what model are you?. If it names a model not in the current Code Assist list (the current set as of June 2026 is Gemini 3.1 Pro in preview and Gemini 3.5 Flash generally available; Gemini 2.5 is retired), the plugin is stale.
3. Wrong Google Cloud project bound
Code Assist binds to a Google Cloud project for billing and quota. If you have multiple projects and the plugin picked the wrong one, you may be on a project where the Code Assist API is disabled, quota is exhausted, or the model list is restricted by an org policy.
How to spot it: click the active project name in the Cloud Code status bar, then Switch Project. If you are bound to a project you did not intend, that is the issue. Quota errors in the Output panel under “Cloud Code” are another tell.
4. The plugin keeps forcing a stale project and model into settings.json
A known regression (tracked as cloud-code-vscode issue #1219) has the extension repeatedly rewrite settings.json, re-injecting an abandoned geminicodeassist.project ID and defaulting the model back to gemini-3-pro-preview even after you delete those lines and restart. Disabling Settings Sync, clearing settings.json, and reinstalling did not stop it for affected users.
How to spot it: edit settings.json, remove geminicodeassist.project, restart the IDE, then reopen settings.json — if the old project ID and gemini-3-pro-preview reappear on their own, you have this bug.
5. Context index is stuck or disabled
Local-codebase awareness depends on a background index that walks your workspace. If you opened a large monorepo and the index never finished — or you disabled it via privacy settings — the model has no project context and falls back to prompt-only answers. (Code customization reindexes roughly every 24 hours.)
How to spot it: ask where is the function that handles login?. If it answers generically (“typically you would find it in auth.js”) instead of citing your actual file paths, the index is not running.
6. Auth token expired silently
The OAuth token can expire without a clear UI prompt. The plugin retries with the stale token, gets a 401, and falls back to a smaller cached model or an empty reply. The chat window just looks slow or unresponsive.
How to spot it: the Output panel shows 401 or UNAUTHENTICATED, or the inline ghost-text suggestions stopped firing a few hours into a session.
7. Wrong model selected in chat
The chat has its own model selector, separate from the web app’s picker. When Gemini 3 is available it is auto-selected, but a manual choice (or a settings sync) can leave you on a Flash variant when you expected Pro.
How to spot it: open the model selector in the chat input. If it is set to a Flash variant and you expected Gemini 3.1 Pro, switch it.
8. Region / data residency restriction
Workspace and Cloud accounts can be subject to data residency policies (EU, Japan, India). If your account is restricted to a region where the latest Gemini snapshot has not rolled out, the plugin routes to an older snapshot there with no visible warning.
How to spot it: the same plugin version on a colleague’s non-restricted account behaves better. Check your Admin Console / Cloud org policies for region pins.
9. Local proxy or VPN strips streaming
Corporate proxies and some VPNs interfere with the streaming protocol. The plugin appears to freeze mid-response, then prints a partial answer when the buffer flushes. Looks like a model problem but it is a network one.
How to spot it: the same query on a tethered phone hotspot streams smoothly. The Output panel may show timeouts or connection reset.
Shortest path to fix
Step 0: Confirm your tier is still served
If you are on individual / AI Pro / AI Ultra, stop here — the plugin will not improve. Install Antigravity (Antigravity 2.0 desktop app) or the Antigravity CLI (agy) and follow antigravity.google/docs/gcli-migration. Your chat history and skills carry over; agent skills, hooks, subagents, and extensions (now “Antigravity plugins”) are preserved. The steps below are for Standard / Enterprise users.
Step 1: Update the plugin and the IDE
In VS Code: Extensions → Gemini Code Assist → check for updates, then Reload Window. In JetBrains: Settings → Plugins → Updates. Update the IDE itself too — Code Assist pins a minimum IDE version. After updating, restart the IDE fully (not just reload the window) to clear in-memory model caches.
Step 2: Verify the bound project and API enablement
Click the project name in the Cloud Code status bar → Switch Project → pick the project you intend. Then in the Google Cloud Console, confirm both APIs are enabled:
APIs and Services → Enabled APIs
- cloudaicompanion.googleapis.com (Code Assist)
- aiplatform.googleapis.com (Vertex AI)
If either is missing, enable it and wait about 5 minutes for IAM to propagate.
Step 3: If the project keeps re-injecting, clear it cleanly
If you hit the forced-project bug (cause 4), do all of this in one pass rather than one piece at a time:
- Close the IDE.
- Edit
settings.jsonand removegeminicodeassist.projectand anygeminicodeassist.subscriptionTypeoverride. - Sign out: Command Palette →
Cloud Code: Sign Out(orSign out of all accounts in Google Cloud SDK). - Reopen the IDE, sign back in, and set the project once via the status-bar
Switch Project, not by hand-editing.
Setting it through the picker (rather than the file) is what sticks for affected users.
Step 4: Force a re-auth
VS Code: Command Palette → Cloud Code: Sign Out, then Cloud Code: Sign In. JetBrains: Tools → Google Cloud Code → Sign out, then sign in. Re-auth refreshes both the OAuth token and the model routing handshake, which fixes a surprising number of “everything feels off” reports.
Step 5: Reset the local index
Command Palette → Cloud Code: Reset Local Index
For large monorepos, add a .aiexclude file at the repo root (it uses .gitignore-style syntax, with the caveat that it does not support ! negation) listing directories to skip:
node_modules/
dist/
build/
.git/
vendor/
A few thousand files index in minutes; tens of thousands without exclusions can take far longer and may silently give up. Note that an empty or missing .aiexclude blocks nothing.
Step 6: Explicitly set the chat model
Open the model selector in the chat input and pick the Pro tier (Gemini 3.1 Pro) for harder reasoning rather than a Flash variant. In VS Code agent mode the model is auto-selected; if you need manual control over agent-mode model choice, use the JetBrains plugin, which exposes it.
Step 7: Confirm it is fixed
After resync, run two quick probes:
- Model probe: ask the chat
what is your exact model identifier?and confirm it matches the selector (a currentGemini 3.xname, not2.5). - Context probe: ask
list the top-level directories in this workspace.If it answers correctly, the index is healthy.
If both pass and a real-file question now returns your actual paths, you are resynced.
Step 8: If region-pinned, escalate to admin
If your org has a data-residency policy locking you to a region behind the latest snapshot, behavior is out of your hands. File a ticket with your Workspace / GCP admin requesting a region change or an exception, per policy.
When this is not on you
Google occasionally A/B routes Code Assist users to different model variants for capacity reasons, especially during a new-snapshot rollout. If quality fluctuates day to day with no changes on your end, that is routing variance and usually settles within a week of a major release. Marketplace caching is also outside your control — the VS Code marketplace can serve a slightly stale copy of the plugin for a few days after a release.
Easy to misdiagnose as
Concluding that “Gemini is bad at code.” The same model via gemini.google.com, Vertex AI Studio, or the API directly often performs noticeably better, which means the bottleneck is the integration layer, not model capability. If you can reproduce a failure on the web but not in the plugin (or vice versa), focus on whichever side fails.
It is also easy to confuse Code Assist with the older AI Studio extension, with third-party Gemini IDE plugins, or now with Antigravity. Make sure you know which tool you are actually running before troubleshooting.
Prevention
- Know your tier. Individual / AI Pro / AI Ultra users should already be on Antigravity; only Standard / Enterprise should still rely on the plugin.
- Set the plugin to auto-update and recheck the version monthly when Google ships a snapshot.
- Pin a single Google Cloud project for Code Assist and document which one across the team.
- Maintain a
.aiexcludefile so the index does not choke onnode_modulesor build artifacts. - After any IDE major-version upgrade, fully restart and re-sign-in once.
- Keep a bookmark to the Code Assist release notes so you can cross-check current model names.
FAQ
- The plugin stopped working entirely in June 2026 — what happened? If you are on Code Assist for individuals, Google AI Pro, or Google AI Ultra, Google stopped serving the IDE extensions (and old Gemini CLI) for those tiers on June 18, 2026. Migrate to Google Antigravity or the Antigravity CLI (
agy). Standard / Enterprise licenses are unaffected. - Why does the web app feel smarter than the plugin even at the same model version? The web app gets longer effective context and sometimes earlier snapshot rollouts; the plugin is constrained by IDE message-size limits and a slower release train.
- The chat insists it is Gemini 2.5. Is that real? No. Gemini 2.5 was retired in early 2026. Seeing it means a stale plugin, a cached model route, or a forced
gemini-3-pro-preview/old default insettings.json— update, re-auth, and reselect the model. - My settings.json keeps getting overwritten with a project I deleted. How do I stop it? This is a known regression (issue #1219). Close the IDE, remove
geminicodeassist.projectfromsettings.json, sign out, reopen, then set the project only through the status-barSwitch Projectpicker. - Does signing out wipe my chat history? No. History is server-side and reappears after re-auth, though the local index may rebuild.
- Do I lose my Gemini CLI skills and hooks when moving to Antigravity? No. Antigravity CLI keeps Agent Skills, Hooks, Subagents, and Extensions (renamed “Antigravity plugins”), though there is not full 1:1 feature parity at launch.
Related
- Gemini App and Web Give Different Answers
- Gemini Google Account Permission Errors
- Gemini Workspace Integration Issues
- Gemini Workspace Not Syncing
- Gemini Extensions (Workspace, Maps, YouTube) Not Triggering
- Gemini Context Too Short
- Gemini Large Context (1M) Truncated
- Gemini 2.5 Output Truncated
- Gemini Thinking Mode Stops Early
- Gemini Quota Exceeded
- Gemini Not Responding
Tags: #Gemini #Troubleshooting #google-ai #code-assist #ide #vscode #jetbrains