Why Replace Gemini CLI at All?
Gemini CLI was a prompt interface. You send a prompt, you get a response. That's the whole model.
Antigravity CLI is an agent harness. The primitive isn't a prompt — it's a running agent that can spawn sub-tasks, use tools, and keep working while you do something else.
That's not a rename. That's a different abstraction.
The migration is clean though: everything that mattered in Gemini CLI carries over. Skills, Hooks, Subagents — all preserved. Extensions are now called Antigravity Plugins, but the concept is identical. If you had Gemini CLI workflows, the port is mechanical.
Install in 30 Seconds
curl -fsSL https://antigravity.google/cli/install.sh | bash
agy --version
No API key prompt during install. Auth happens the first time you invoke an agent. If you have an existing ~/.gemini/ directory, the CLI detects it and imports your Skills automatically.
First Command: agy inspect
Before you run anything, run this:
agy inspect
It shows you everything the CLI sees — config files loaded, Skills available (global and workspace), Hooks wired up, plugins installed. Think of it as git status for your agent environment.
Antigravity CLI v2.0.1
Configuration
Global config: ~/.antigravity/config.json
Workspace config: .agents/config.json (not found)
Skills (global)
code-review ~/.antigravity/skills/code-review.md
commit-message ~/.antigravity/skills/commit-message.md
Skills (workspace)
None
Hooks
None configured
Run it first in any new project. It'll save you 20 minutes of debugging why a Skill isn't loading.
Skills: Saved Agent Roles
A Skill is a markdown file that gives the agent a role, tool access, and task framing. A saved system prompt, with metadata.
Create a workspace Skill:
mkdir -p .agents/skills
<!-- .agents/skills/ux-review.md -->
---
name: ux-review
description: Reviews a UI screenshot against Nielsen's heuristics
tools: [read_file]
---
You are a UX analyst. Analyze any UI screenshot against:
- Nielsen's 10 Usability Heuristics
- WCAG 2.1 accessibility guidelines
- Cognitive load principles
Return structured findings: what's working, what's broken, and the specific heuristic being violated.
Invoke it:
agy run --skill ux-review "Review the checkout flow in checkout.png"
Skills in .agents/skills/ travel with the project. Skills in ~/.antigravity/skills/ are global. The community Antigravity Awesome Skills repo has 1,400+ pre-built ones if you'd rather not start from scratch.
Bold opinion: The community Skills library is actually the most underrated thing about this ecosystem. You can drop in a production-grade code-review workflow in 90 seconds. Most people skip it and hand-write prompts forever.
Hooks: Intercept the Agent Loop
Hooks let you fire shell commands at lifecycle moments. Config is JSON:
//.agents/config.json{"hooks":{"before_tool_call":[{"command":"echo '$TOOL_NAME' >> .agents/tool-log.txt"}],"on_loop_stop":[{"command":"node scripts/notify.js"}]}}
Available hook points: before_tool_call, after_model_call, on_loop_stop, on_error.
The pattern I use on every project: on_loop_stop writes a summary to a log file, before_tool_call audits tool use so I can see what the agent actually did. Thirty lines of config, total.
Subagents: The Part Gemini CLI Couldn't Do
This is the actual upgrade.
Gemini CLI was synchronous. You waited. The agent finished. You moved on. Antigravity CLI ships async subagents — dispatch a long-running task to a background agent and keep prompting in the foreground, same session.
From inside the TUI:
> Refactor the auth module to use the new token schema.
[Dispatching to subagent...]
> While that runs — write a changelog entry for the last 10 commits.
Both run in parallel. The subagent reports back when it's done.
From the CLI:
# Dispatch a background agent
agy dispatch "Run the full test suite and write a summary to test-report.md"
# Check active subagents
agy agents list
# Pull output from a specific agent
agy agents output <agent-id>
I Tried It: Parallelizing a Real Refactor
Here's what I actually tested. I had a Next.js project with a type refactor that touched ~40 files.
I dispatched the refactor to a background subagent, then used the foreground agent to write the PR description and update the changelog — simultaneously.
The refactor completed in about 4 minutes. The PR description and changelog were ready before the refactor finished. Total wall-clock time: 4 minutes instead of 8–10 in sequence.
That's not a benchmark. That's just what parallel async agents feel like in practice.
Managed Agents: Serverless Version
Don't want the CLI? There's an API:
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
agent = genai.create_agent(
model="gemini-3.5-flash",
instructions="You are a code reviewer. Review the diff for correctness and security issues.",
tools=["code_execution"],
)
result = agent.run("Review this diff:\n" + open("changes.diff").read())
print(result.output)
Same agent harness. Same Gemini 3.5 Flash intelligence. Zero local setup. The agent runs in an isolated Linux environment on Google's infrastructure.
Migration Cheat Sheet
| Gemini CLI |
Antigravity CLI |
gemini run |
agy run |
~/.gemini/skills/ |
~/.antigravity/skills/ |
| Extensions |
Plugins (same concept) |
gemini inspect |
agy inspect |
| Synchronous only |
agy dispatch for async |
Skills files don't need to change. The biggest behavioral win: agy is built in Go. Startup is noticeably faster than the old CLI.
Bold opinion: The deprecation of Gemini CLI felt abrupt. But Google made the right call — maintaining two separate CLIs with diverging capability models would have been worse for the ecosystem than a clean cut.
What This Is Really About
Gemini CLI was a terminal wrapper around a language model.
Antigravity CLI is a terminal interface for an agent harness. The Skills/Hooks/Plugins model is also cross-compatible with Claude Code, Cursor, and Codex CLI — a Skill you write here works elsewhere.
The transition was abrupt. The thing that replaced it is better.
Antigravity CLI at antigravity.google. Codelabs at codelabs.developers.google.com.
Tags: googleio ai productivity devtools