Gemini CLI Shuts Down June 18 — and Antigravity (agy) Fails Silently in CI

On June 18, 2026 Gemini CLI stops serving free/consumer tiers. Its replacement, Antigravity CLI (agy), has an open non-TTY bug that returns exit 0 with empty output.

Gemini CLI Shuts Down June 18 — and Antigravity (agy) Fails Silently in CI

Tomorrow, June 18, 2026, Google turns off Gemini CLI for its free and consumer tiers and points everyone at a new tool: Antigravity CLI, the Go binary you invoke as agy. If you have a gemini call anywhere in CI, a cron job, a Makefile, or a Dockerfile, this is worth ten minutes today — because the most dangerous failure mode isn't a crash. It's a green checkmark on an empty result. Here's what's actually changing, the silent bug to pre-empt, and the boring move that saves most teams the migration entirely.

"Gemini CLI is dead" is half true — and the half matters

Per Google's own announcement (May 19, 2026) and Discussion #27274, on June 18 Gemini CLI and the Code Assist IDE extensions stop serving requests for Google AI Pro, Ultra, free Code Assist individuals, and Code Assist for GitHub.

The nuance most coverage drops: enterprise is unaffected. If your org has a Gemini Code Assist Standard or Enterprise license, or you use a paid Gemini / Enterprise Agent Platform API key, you keep Gemini CLI — which remains Apache-2.0, ~105k stars, and unarchived. So "dead" is true only for the free/consumer lane. That single fact is also the cheapest fix, which we'll get to.

The silent CI failure: agy -p drops stdout on a non-TTY

This is the one that will burn you. In --print/-p mode, agy disables output when stdout is not a TTY — a pipe, a redirect, a subprocess. It completes the full model round trip, exits 0, and writes zero bytes to stdout and stderr (Issue #76, opened May 21, reproduced on agy 1.0.0, still open).

So the moment you swap gemini for agy, this:

gemini -p "summarize the diff" > result.txt   # used to work

becomes an empty result.txt with a passing exit code. Your pipeline goes green while producing nothing. The fix is to allocate a pseudo-TTY and gate on real output, not just the exit code:

# Wrap in a PTY so agy renders; -e propagates the real exit code
script -qec 'agy -p "summarize the diff"' /dev/null | tee result.txt

# Then fail loud: require exit 0 AND a non-empty, expected marker
test -s result.txt || { echo "agy produced no output"; exit 1; }

The lesson generalizes beyond this tool: any agent wrapper in CI should assert on content, not just $?. A tool that can return success with no work done is a tool you gate twice.

Headless auth has no first-class path yet

agy authenticates via OAuth, which assumes an interactive browser login. The obvious CI need — GEMINI_API_KEY / --api-key env-var auth — is an open, unimplemented feature request (Issue #78), and a June 15 commenter reports it still falls back to OAuth even with the env var set. Stdio JSON-RPC via ACP is also missing, so anything that shelled out to gemini --acp has no drop-in. If your automation runs headless, there is no documented working API-key path on day one.

The breakage the migrator won't fix

Google's auto-import moves your assets — Agent Skills, Hooks, Subagents, Extensions (now "plugins"), GEMINI.md. It does not touch your automation. Every gemini invocation in CI scripts, Makefiles, git hooks, and Dockerfiles has to be changed to agy by hand, and the interactive import can't run in a headless job anyway. Step one is a literal grep -rn 'gemini' . across your repos and pipelines.

Reported but unconfirmed (test, don't trust): MCP config reportedly moves from inline settings.json to a separate mcp_config.json and renames each server's urlserverUrl — which fails only when a tool is invoked, not at startup. Treat that as plausible and verify against the changelog before you rely on it.

A closed-source binary that shipped six releases in 17 days

Worth weighing before you adopt it on the live date. Antigravity CLI is closed-source (repo license: null, created May 13, 2026), versus Gemini CLI's Apache-2.0 and 6,000+ merged PRs; the direct question "is it open source?" has no substantive answer. It's also churning fast — six releases from v1.0.4 (June 1) to v1.0.9 (June 17, the day before cutover) per the changelog. Notably, 1.0.8 fixed a SIGILL crash on non-AES-NI CPUs (older runners/VMs crash on startup below it), and 1.0.9 hardened the sandbox and added .git to its "dangerous paths." Two practical notes: pin agy >= 1.0.8, and don't rm -rf ~/.gemini thinking it's dead — agy stores its state inside ~/.gemini/antigravity-cli/.

And ignore the launch benchmarks for now: the "4× faster / on par with GPT-5.5 on coding" framing is vendor marketing — independent measurement put the default model's coding score below the previous Pro model. The one defensible claim is raw output speed.

People also ask

Is Gemini CLI being shut down? Yes, for consumer tiers (Pro, Ultra, free Code Assist) on June 18, 2026. Enterprise/Standard licenses and paid API-key users keep it.

What replaces it? Antigravity CLI (agy), a closed-source Go binary that shares the harness with the Antigravity 2.0 desktop app — with no 1:1 feature parity at launch, per Google.

Why does agy return empty output in CI? The open non-TTY bug (#76): in -p mode it writes nothing to stdout/stderr and exits 0 when output isn't a terminal. Wrap it in a PTY and assert on content.

Builder takeaway

The safest move is the boring one. If you have an enterprise, Cloud, or paid API-key lane, keep Gemini CLI — it's still maintained and Apache-2.0 — and just repoint auth. Don't rush a production pipeline onto a closed-source binary that shipped six releases in seventeen days. If you must move to agy: grep-and-replace every gemini call yourself, pin >= 1.0.8, wrap headless -p in a pseudo-TTY, and gate every step on exit 0 and an expected output marker — because the failure that will cost you a day isn't the crash you can see. It's the green checkmark on nothing at all.