Sometime after June 18, 2026, a lot of developers ran a script that had worked fine for months and got back a wall of HTTP 410 Gone errors. If that's you, the short version is: it's not your code. Google shut down Gemini CLI for free, Pro, and Ultra accounts on that exact date, and replaced it with a new tool called Antigravity CLI, invoked as agy.
I run AI automation and agent workflows for clients, so a chunk of my own tooling was directly affected by this. This guide is the migration path I actually used, cross-checked against Google's own transition docs and the Antigravity CLI GitHub repo — every command below is something you can run today, not a summary of a press release.
Why Gemini CLI Stopped Working
At Google I/O on May 19, 2026, Google announced it was consolidating its developer tooling under one brand — Antigravity — and retiring the standalone Gemini CLI and Gemini Code Assist IDE extensions. The stated reason: developer workflows had "outgrown those early days of 2025" and now require multiple agents working together, communicating, and splitting up complex tasks — something the original Node.js-based Gemini CLI wasn't architected for.
The technical shift is real, not just a rebrand:
- Node.js → Go. Antigravity CLI is a compiled Go binary, giving it meaningfully faster startup and lower memory use than the old Node.js-based Gemini CLI, especially on large codebases.
- Synchronous → asynchronous agents. Antigravity supports background agent workflows — you can kick off a project-wide refactor and keep using your terminal instead of it locking up.
- Fragmented → unified harness. The same agent engine now powers the CLI, the Antigravity desktop IDE, and IDE extensions, so features land across all three simultaneously instead of the CLI lagging behind.
Your gemini binary still exists on disk and will still launch — it just can't reach Google's servers anymore for free/Pro/Ultra accounts, so every request returns HTTP 410 Gone. Nothing is wrong with your local install; the endpoint itself was retired.
Who's Actually Affected
This is the first thing to check, because not everyone needs to migrate immediately:
| Account Type | Status | Action Needed |
|---|---|---|
| Free tier | Cut off June 18, 2026 | Migrate now |
| Google AI Pro / Ultra | Cut off June 18, 2026 | Migrate now |
| Gemini Code Assist for individuals (free) | Cut off June 18, 2026 | Migrate now |
| Gemini Code Assist Standard / Enterprise | Unaffected | None — keep using Gemini CLI, or evaluate agy at your own pace |
| Vertex AI / paid Gemini API key | Unaffected | None required |
To check which category you're in, run gemini --version and look at the account type in the output header. If you're unsure, the safest assumption is that if you were never issued a Google Cloud enterprise license or Workspace account, you're on the affected list.
What's Actually Changing (Not Just a Rename)
The core CLI syntax stays close to what you already know, but a few structural things move, and these are exactly the parts that break scripts silently if you don't catch them:
- Authentication — Antigravity CLI replaces manual API key management with a browser-based Google OAuth flow by default, storing tokens in your OS's native keyring instead of a flat config file.
- Environment variable —
GEMINI_API_KEYbecomesAV_API_KEYfor programmatic/headless use. - State directory — session data moves from
~/.gemini/brain/to~/.gemini/antigravity-cli/brain/. Checkpointing works the same; only the path changed. - MCP config format — MCP server definitions move out of
settings.jsoninto a dedicatedmcp_config.json, and theurlfield is renamed toserverUrl. - Exit codes and streaming — Antigravity CLI defaults to SSE-based streaming and introduces new non-zero exit codes that older scripts checking for specific Gemini CLI exit statuses won't recognize.
Step 1: Install Antigravity CLI
Installing agy does not touch or break your existing gemini installation — they're separate binaries, so you can install Antigravity CLI today and migrate at your own pace before the deadline fully affects your workflow.
# macOS / Linux — official install script curl -fsSL https://antigravity.google/cli/install.sh | bash # macOS / Linux — Homebrew brew install antigravity-cli # Any platform — npm npm install -g @google/antigravity-cli
The install script auto-detects your OS and architecture, downloads the matching build, verifies the file's SHA-512 checksum, and drops the agy binary into ~/.local/bin/agy.
After installing, you'll very likely see a warning that the install folder isn't on your PATH yet — this is the single most common reason people think the install failed when it actually didn't. Add the install directory to your PATH and open a new terminal session before troubleshooting further.
Step 2: Authenticate
Run agy with no arguments on first launch:
agy
This opens your default browser for Google OAuth. Sign in with the same Google account you used for Gemini CLI — this matters for plugin and history migration later. For SSH or headless sessions where no browser is available, agy prints a URL directly in the terminal; copy it, authenticate from any device, and the CLI picks up the token automatically once you're signed in.
Step 3: Migrate Plugins, Skills & Config
Gemini CLI extensions migrate with a single command that scans your existing plugin directory and registers each one with agy:
# Import all Gemini CLI plugins/extensions automatically agy plugin import gemini # Verify what got imported agy plugin list
Workspace-local skills need a manual copy — global skills under ~/.config/gemini/skills/ auto-load from the new path, but per-project skills do not:
# Per-workspace skills — copy manually cp -r .gemini/skills/ .agents/skills/ # Confirm Antigravity picked them up agy skills list
Both GEMINI.md and AGENTS.md are read by Antigravity CLI without any modification — no rename, no reformatting needed. If your team already standardized on AGENTS.md, that convention carries over untouched.
One catch during import: plugins that depend on Node.js-only APIs will trigger a compatibility warning. Those need an updated, Antigravity-compatible build from the original plugin author before they'll work — there's no workaround on your end for those specific ones.
Step 4: Fix Your MCP Server Configs
This is the change most migration guides gloss over, and it's a manual, one-time edit — there's no automated import for it. Gemini CLI stored MCP server configs inline inside settings.json. Antigravity CLI expects them in a separate mcp_config.json file, with the field itself renamed:
Gemini CLI (settings.json) |
Antigravity CLI (mcp_config.json) |
|---|---|
Inline under mcpServers |
Separate file, same key structure |
"url": "https://..." |
"serverUrl": "https://..." |
If you'd rather not hand-edit the file, you can also re-add each server through the CLI directly:
agy mcp add <name> <command>
Step 5: Fix Scripts, Env Vars & CI/CD
This is the step that actually breaks production if you skip it. Any shell alias, cron job, or CI/CD pipeline step that calls gemini directly needs two separate fixes — not one:
# Before (Gemini CLI) gemini agents run code-review # After (Antigravity CLI) — note "agent" not "agents" agy agent run code-review
Most other commands map one-to-one with just the binary rename (gemini → agy), but grep your codebase for agents separately — that subcommand name itself changed, and a find-and-replace on just the binary name will miss it.
Also update the environment variable your CI/CD secrets reference:
# Old export GEMINI_API_KEY=your-key-here # New export AV_API_KEY=your-key-here
If you only fix one thing today, fix this. Google's own migration messaging put it plainly: any CI/CD pipeline, shell script, or automation calling gemini "will break on that date with no warning and no grace period." Several developers reported hard, mid-session cutoffs rather than a graceful failure — including one paying user who described the tool actively writing code when it hit a 403 mid-task.
Step 6: Validate the Migration
Before fully cutting over, confirm everything actually works:
# Run a built-in health check
agy doctorThen run one real workflow through agy that you'd normally run through gemini, side by side if you still have access to the old CLI, to confirm parity before removing Gemini CLI from your CI images or dropping the old binary from your dev environment entirely.
Command Mapping Cheat Sheet
| Task | Gemini CLI | Antigravity CLI |
|---|---|---|
| Launch the tool | gemini |
agy |
| Run an agent task | gemini agents run ... |
agy agent run ... |
| API key env var | GEMINI_API_KEY |
AV_API_KEY |
| Import extensions | — | agy plugin import gemini |
| Add MCP server | Edit settings.json |
agy mcp add <name> <command> |
| Session state path | ~/.gemini/brain/ |
~/.gemini/antigravity-cli/brain/ |
| Health check | — | agy doctor |
Why This Migration Made Developers Angry
It's worth being upfront about why this rollout generated real backlash on Hacker News and Reddit, beyond the normal friction of any tool migration. Gemini CLI was open source — Apache-2.0 licensed, with over 104,000 GitHub stars and a genuine community of contributors. Antigravity CLI, its replacement, is closed-source.
The core objection: developers who invested time contributing to and improving an open-source tool watched that tool get replaced by a closed product they have no equivalent access to or ownership of. One widely-shared framing from the discussion: Google wasn't accused of building a better enterprise product — it was accused of using community investment in an open-source project to improve a product that then excludes the people who built it.
Practically, this also means: if your team relied on forking or patching Gemini CLI directly for custom behavior, that option doesn't exist with Antigravity CLI. You're now dependent on Google's release cadence and whatever extension/plugin surface they expose.
Should You Migrate at All? The Alternatives
Migrating to Antigravity CLI is the path of least resistance if you're staying inside the Gemini ecosystem — same model family, same account, fastest path back to a working setup. But it's worth knowing what else is on the table, especially given the closed-source concern above:
- Claude Code — for terminal-native agentic coding workflows, commonly cited as the practical alternative for individual builders who want to stay in the terminal without adopting Antigravity's IDE-first model.
- Aider — for teams that specifically want to keep a fully open-source tool in their pipeline rather than depend on any closed-source vendor CLI.
- Google Antigravity (the IDE, not just the CLI) — if your team is willing to go further than a CLI swap, the broader Antigravity platform adds a visual multi-agent Manager Surface, parallel frontend/backend/test/docs agents, and an
AGENTS.md-driven "constitution" file for coding standards — genuinely useful if you're coordinating multiple agents on a large codebase, overkill if you just need a terminal assistant.
My honest take, doing this kind of migration work for clients: if you're already deep in the Gemini/Google Cloud ecosystem, Antigravity CLI is the path of least friction and the performance gains (Go vs Node.js, async agents) are real. If you were specifically attached to Gemini CLI's open-source nature, this is a reasonable moment to evaluate Claude Code or Aider instead of assuming you have to follow Google's migration path by default.