Conversation
There was a problem hiding this comment.
Code Review
This pull request removes the deprecated Gemini CLI provider, setup commands, configuration shims, and associated documentation across multiple languages. The review feedback points out several issues introduced by these changes, such as broken HTML table cells, broken ASCII art diagrams, and incorrect list numbering. Additionally, the feedback highlights instances of over-deletion where documentation for other active providers (like Claude Code, Codex, and Copilot) was mistakenly removed and needs to be restored.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| <td align="center" width="110"> | ||
| <a href="https://github.com/google-gemini/gemini-cli"> | ||
| <img src="./public/providers/gemini-cli.svg" alt="Gemini CLI" width="48"/><br/> | ||
| <b>Gemini CLI</b> | ||
| </a><br/> | ||
| <sub>⭐ 94.7K</sub> | ||
| </td> |
| ┌─────────────┐ | ||
| │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) | ||
| │ Tool │ |
There was a problem hiding this comment.
Removing the first line of the ASCII art box breaks the diagram's structure. Instead of deleting the line, we should keep the box intact and simply remove Gemini CLI from the list of tools in the comment.
| ┌─────────────┐ | |
| │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) | |
| │ Tool │ | |
| ┌─────────────┐ | |
| │ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline...) | |
| │ Tool │ |
| │ | ||
| ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI | ||
| │ ↓ quota exhausted |
There was a problem hiding this comment.
Deleting the entire Tier 1 line removes supported subscription providers like Claude Code and Codex from the diagram. We should keep the Tier 1 line and only remove Gemini CLI from it.
| │ | |
| ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI | |
| │ ↓ quota exhausted | |
| │ | |
| ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex | |
| │ ↓ quota exhausted |
|
|
||
| Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with `client_secret is missing`, `redirect_uri_mismatch`, and failures on remote servers. OAuth on LAN/VPS is particularly problematic. | ||
|
|
There was a problem hiding this comment.
Deleting the entire paragraph removes important context about OAuth token management for other supported providers (Claude Code, Codex, Copilot). We should restore the paragraph and only remove Gemini CLI from the list.
| Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with `client_secret is missing`, `redirect_uri_mismatch`, and failures on remote servers. OAuth on LAN/VPS is particularly problematic. | |
| Claude Code, Codex, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with `client_secret is missing`, `redirect_uri_mismatch`, and failures on remote servers. OAuth on LAN/VPS is particularly problematic. | |
| - **Auto Token Refresh** — OAuth tokens refresh in background before expiration | ||
| - **OAuth 2.0 (PKCE) Built-in** — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder | ||
| - **Multi-Account OAuth** — Multiple accounts per provider via JWT/ID token extraction |
There was a problem hiding this comment.
Deleting the entire PKCE feature line removes important documentation for other supported providers. We should restore the line and only remove Gemini CLI from the list.
| - **Auto Token Refresh** — OAuth tokens refresh in background before expiration | |
| - **OAuth 2.0 (PKCE) Built-in** — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder | |
| - **Multi-Account OAuth** — Multiple accounts per provider via JWT/ID token extraction | |
| - **Auto Token Refresh** — OAuth tokens refresh in background before expiration | |
| - **OAuth 2.0 (PKCE) Built-in** — Automatic flow for Claude Code, Codex, Copilot, Kiro, Qwen, Qoder | |
| - **Multi-Account OAuth** — Multiple accounts per provider via JWT/ID token extraction |
|
|
||
| One-click configuration for AI coding tools: Claude Code, Codex CLI, Gemini CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, and Factory Droid. Features automated config apply/reset, connection profiles, and model mapping. | ||
|
|
There was a problem hiding this comment.
Deleting the entire description of the CLI Tools section leaves the header without any introductory text. We should restore the description and only remove Gemini CLI from it.
| One-click configuration for AI coding tools: Claude Code, Codex CLI, Gemini CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, and Factory Droid. Features automated config apply/reset, connection profiles, and model mapping. | |
| One-click configuration for AI coding tools: Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline, Continue, Cursor, and Factory Droid. Features automated config apply/reset, connection profiles, and model mapping. | |
|
|
||
| Dashboard for discovering and managing CLI agents. Shows a grid of 18 built-in agents (Codex, Claude, Goose, Gemini CLI, OpenClaw, Aider, OpenCode, Cline, Qwen Code, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) with: | ||
|
|
There was a problem hiding this comment.
Deleting the entire description of the CLI Agents section leaves the header without any introductory text. We should restore the description, remove Gemini CLI, and update the count of built-in agents to 17.
| Dashboard for discovering and managing CLI agents. Shows a grid of 18 built-in agents (Codex, Claude, Goose, Gemini CLI, OpenClaw, Aider, OpenCode, Cline, Qwen Code, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) with: | |
| Dashboard for discovering and managing CLI agents. Shows a grid of 17 built-in agents (Codex, Claude, Goose, OpenClaw, Aider, OpenCode, Cline, Qwen Code, ForgeCode, Amazon Q, Open Interpreter, Cursor CLI, Warp, **Windsurf**, **Devin CLI**, **Kimi Coding**, **Command Code**) with: | |
| Combo: "free-forever" | ||
| 1. gemini-cli/gemini-3-flash-preview (180K free/month) | ||
| 2. if/kimi-k2 (unlimited free) | ||
| 3. qw/qwen3-coder-plus (unlimited free) |
There was a problem hiding this comment.
After removing item 1, the remaining items should be renumbered to start from 1.
| Combo: "free-forever" | |
| 1. gemini-cli/gemini-3-flash-preview (180K free/month) | |
| 2. if/kimi-k2 (unlimited free) | |
| 3. qw/qwen3-coder-plus (unlimited free) | |
| Combo: "free-forever" | |
| 1. if/kimi-k2 (unlimited free) | |
| 2. qw/qwen3-coder-plus (unlimited free) |
| ```bash | ||
| Dashboard → Providers → Connect Gemini CLI | ||
| → Google OAuth | ||
| → 180K completions/month + 1K/day | ||
|
|
||
| Models: | ||
| gemini-cli/gemini-3.1-pro-preview | ||
| gemini-cli/gemini-3-flash-preview | ||
| gemini-cli/gemini-3.1-flash-lite-preview | ||
| ``` | ||
|
|
||
| **Best Value:** Huge free tier! Use this before paid tiers. |
| Models: | ||
| 1. gemini-cli/gemini-3-flash-preview (180K free/month) | ||
| 2. if/kimi-k2 (unlimited) | ||
| 3. qw/coder-model (unlimited) |
There was a problem hiding this comment.
|
Addressed the documentation cleanup feedback in 06f7e03:\n\n- restored provider documentation that was over-deleted for Claude Code, Codex, and Copilot\n- fixed the broken README/i18n table cells, ASCII routing diagrams, and list numbering\n- removed the remaining Gemini CLI / gc/ free-tier documentation examples and updated free-combo examples to supported providers\n- rechecked Markdown fence balance, stale Gemini CLI/gc symbol scan, |
06f7e03 to
8b53630
Compare
|
Rebased this PR on release/v3.8.39 at |
|
Fixed the Fast Quality Gates failure in |
|
Fixed the unit shard failures in a55a121. The #4177 response-envelope regression now exercises the Antigravity/Cloud Code response path that unwraps envelopes after the #5216 split, and the stale Gemini CLI plan-label unit block was removed along with the discontinued usage path. Rechecked locally: the focused failed shard tests pass, the Gemini/OpenAI translator/chat pipeline suite passes, the VS Code token route suite passes, typecheck passes, check:file-size passes, and git diff --check is clean. |
|
Fixed the CI-only Unit Tests fast-path 2/2 failure in a2ba1ff. The failure was outside the Gemini CLI removal path: tests/unit/cloudflaredTunnel-extended.test.ts hit an ENOENT while an async quick-tunnel exit handler wrote the state file after an environment/teardown boundary. The fix keeps the state write on one captured path by resolving quick-tunnel-state.json once, mkdir-ing that captured parent directory, then writing to the same path. Rechecked locally: tests/unit/cloudflaredTunnel-extended.test.ts, npm run check:file-size, npm run typecheck:core, and git diff --check. |
|
Fixed the CI unit regression in 2de6426. The #4177 regression test now calls the shared Gemini response translator again, matching this PR narrowed scope after the response-translator split was moved out. The Antigravity/Cloud Code Rechecked locally: |
2de6426 to
5b80a59
Compare
|
Rebuilt this branch on top of Rechecked locally on v3.8.40: |
|
Thanks for this, @rdself — and for the careful split that keeps the Gemini response translator untouched. We're going to defer and close this one for now, for two reasons:
Please feel free to reopen / resubmit once we've decided to discontinue the channel and the ordering vs the Antigravity work is sorted — the removal itself is clean, it's just a timing/sequencing and product-decision matter. Really appreciate the contribution. |
Summary
Google permanently shut down the Gemini CLI channel on June 18, 2026. AntiGravity CLI is now the replacement channel for the Google CLI-style flow, so this removes the discontinued Gemini CLI surface instead of leaving dead provider, auth, and UI paths behind.
This PR removes:
gemini-cliprovider registry entry, executor, headers helper, translator format registrations, free-tier rows, pricing/subscription references, model aliases, and usage/token-refresh pathsIt keeps the supported
gemini,gemini-web, Vertex Gemini, and Antigravity/Agy paths intact. The Antigravity ZIP auth route now uses a generic JSON ZIP extractor after the Gemini CLI-specific helper was removed.The branch is rebased on
release/v3.8.39at5f061ac360c7602e4ee77e24203717ae88d2ebff. During the rebase, the README conflict was resolved by keeping the new Antigravity remote-login note while removing the discontinued Gemini CLI setup item. The deprecated i18n auto-translation default model was also changed fromgc/gemini-3-flashtogemini/gemini-3-flash.Compatibility with #5216
This follow-up also preserves the Antigravity response registration split from #5216 in
open-sse/translator/response/gemini-to-openai.ts. That keeps the final file shape compatible with #5216 while removing the now-invalidFORMATS.GEMINI_CLIregistration.Both merge directions were checked locally:
CI Follow-up
CI exposed an unrelated cloudflared quick-tunnel state-file race while this PR was running. The exit handler could resolve the state-file path again after an async boundary, so a test teardown or environment restore could make the mkdir and write target different directories. This PR includes the minimal fix: capture the state-file path once inside
writeStateFileNow()and mkdir the captured parent before writing.Testing
node --import tsx/esm --import ./open-sse/utils/setupPolyfill.ts --import ./tests/_setup/isolateDataDir.ts --test tests/unit/translator-resp-gemini-to-openai.test.ts tests/unit/translator-openai-to-gemini.test.ts tests/unit/translator-openai-to-gemini-sse.test.ts tests/integration/chat-pipeline.test.tsnode --import tsx/esm --import ./open-sse/utils/setupPolyfill.ts --import ./tests/_setup/isolateDataDir.ts --test tests/unit/gemini-midstream-error-4177.test.ts tests/unit/usage-utils.test.tsnode --import tsx/esm --import ./tests/_setup/isolateDataDir.ts --test tests/unit/vscode-token-routes.test.tsnode --import tsx/esm --import ./tests/_setup/isolateDataDir.ts --test tests/unit/cloudflaredTunnel-extended.test.tsnode --import tsx/esm --import ./open-sse/utils/setupPolyfill.ts --import ./tests/_setup/isolateDataDir.ts --test tests/unit/oauth-providers-config.test.ts tests/unit/oauth-redirect-uri-mismatch.test.ts tests/unit/cli-tools.test.ts tests/unit/cli-tools-schema.test.ts tests/unit/cli-catalog-counts.test.ts tests/unit/cli-catalog-acpspawnable.test.ts tests/unit/cli-catalog-newentries.test.ts tests/unit/model-alias-seed.test.ts tests/unit/modelsDevSync.test.ts tests/unit/pricing-sync.test.ts tests/unit/provider-models-route.test.ts tests/unit/provider-validation-branches.test.ts tests/unit/usage-providers.test.ts tests/unit/usage-service-hardening.test.ts tests/unit/service-token-refresh.test.ts tests/unit/token-health-check.test.ts tests/unit/free-tier-catalog.test.ts open-sse/services/__tests__/tierResolver.test.ts tests/unit/vscode-token-routes.test.ts tests/unit/guide-settings-route.test.ts tests/unit/cliproxy-auth-import-1934.test.ts @omniroute/opencode-plugin/tests/gemini-sanitize.test.ts @omniroute/opencode-plugin/tests/config-shim.test.tsnpm run typecheck:corenpm run check:docs-all(passes; existing soft doc drift/stale-version warnings remain)npm run check:file-sizenpm run lint(passes with existing warnings only)git diff --check