Antigravity CLI vs Claude Code is, for most people reading this, a migration question rather than a shopping question — Gemini CLI stopped serving consumer accounts on 2026-06-18 and Antigravity CLI is what Google points you at. So the useful measurement is not which agent is smarter. It is what your repository carries across. Measured on this site's own repo on 2026-08-13 with Claude Code v2.1.229: 5 of 6 configuration surfaces survive the move, more than any other terminal agent we have tested, and Antigravity CLI would read none of them today.
Key takeaways
- Antigravity CLI is the cheapest migration target we have measured from Claude Code — 5 of 6 config concepts survive, against 4 of 6 for Codex CLI.
- Stdio MCP servers port as a file copy, not a rewrite: both tools use a top-level
mcpServersobject withcommandandargs. - Subagents and skills are both markdown-with-frontmatter on each side, so they move by rename rather than translation.
- Antigravity CLI reads
AGENTS.mdand documents no fallback-filename setting, so a repo standardised onCLAUDE.mdfeeds it nothing and reports nothing. - Antigravity CLI is a closed-source Go binary; the Gemini CLI it replaces stays Apache-2.0 and public. That is the trade the announcement thread is actually arguing about.
Antigravity CLI vs Claude Code at a glance
| Dimension | Claude Code | Antigravity CLI |
|---|---|---|
| Version tested | 2.1.229 | not installed — see below |
| Instruction file | CLAUDE.md | AGENTS.md |
| Instruction size cap | None — loaded in full | Not documented |
| Workspace config | .claude/ | .agents/ |
| MCP config | .mcp.json | .agents/mcp_config.json |
| Remote MCP key | url | serverUrl — url unsupported |
| Licence | Proprietary | Proprietary (Go binary) |
| Predecessor | — | Gemini CLI, Apache-2.0, consumer access ended 2026-06-18 |
The .claude/ and .agents/ row is the one that decides migration cost, and it is the reason this
comparison lands differently from the Codex CLI
comparison we ran on the same repository: Codex defaults
its real configuration into your home directory, and Antigravity keeps it in the workspace where
git can carry it. If you are earlier than this and still choosing a category rather than migrating
between two tools, our comparison of the best AI coding
assistants sets both against Cursor and Copilot on the
same where-do-you-work test.
What this article does not do, stated plainly: Antigravity CLI is not installed on the machine this was written on, so nothing here is a claim about output quality, speed, or how either agent handles a given task. Every Claude Code figure is measured first-hand and reproducible with the script below. Every Antigravity CLI figure comes from Google's published documentation, each cited so you can check it. A comparison that ranked the two on results would need both installed and a controlled task set.
Why Gemini CLI users are here at all
Google announced the transition on 2026-05-19 and gave it thirty days. The Google Developers Blog announcement states that "on June 18, 2026, Gemini CLI and Gemini Code Assist IDE extensions will stop serving requests for Google AI Pro and Ultra," with free-tier personal accounts included. Enterprise customers keep access through paid API keys.
Antigravity CLI is the named replacement — built in Go, part of what Google calls its "agent-first development platform," and sharing an agent harness with the Antigravity 2.0 desktop app. The announcement commits to carrying over "Agent Skills, Hooks, Subagents, and Extensions (now as Antigravity plugins)," which is a broader continuity promise than most CLI migrations offer.
The contested part is the licence. The Gemini CLI repository stays public under Apache-2.0 and maintained for enterprise, but Antigravity CLI itself is closed source. In the transition discussion thread, that is the objection contributors return to — volunteer work on an open-source tool being succeeded by a proprietary binary. Whether that matters to you is a governance judgement, not a technical one, and it is worth making deliberately rather than discovering later.
What ports from Claude Code to Antigravity CLI
We wrote the measurement rather than estimating it. npm run check:portability already walked this
repository for the Codex comparison; it now takes an --agent flag and maps the same surfaces onto
Antigravity CLI.
npm run check:portability -- --agent=antigravity
CONCERN CLAUDE CODE PRESENT IN GIT PORTS AS ANTIGRAVITY CLI Project instructions CLAUDE.md 8,189 B yes rename AGENTS.md Path-scoped instructions .claude/rules/ absent rewrite .agents/rules/ MCP servers .mcp.json 284 B yes copy .agents/mcp_config.json Subagents .claude/agents/ 2,443 B yes rename .agents/agents/<name>.md Permissions / approvals .claude/settings.local.json 4,263 B no none .agents/hooks.json Skills .claude/skills/ absent rename .agents/skills/<name>/SKILL.md 4 of 6 surfaces present. 10,916 B committed, 1 present but not in git — machine-local under either agent. Formats in play: markdown, JSON. Antigravity wants: markdown, JSON. What Antigravity CLI would read from this repo today: nothing.
Read the PORTS AS column rather than the byte counts. Against Codex CLI the same repository
produces four rewrite verdicts and a format change from JSON to TOML. Against Antigravity CLI
there is one rewrite, three renames, and one copy — because both tools settled on the same two
formats, markdown and JSON, for the same six concerns.
That is the finding, and it surprised us: the agent with the more contested launch is the one your existing configuration fits best.
The last line is the counterweight. Five surfaces can survive and the tool can still start with
nothing, because this repository standardised on CLAUDE.md and Antigravity CLI looks for
AGENTS.md (see our AGENTS.md guide). The script exits non-zero on that line, which makes it a build guard rather than a
report.
MCP config is a copy, not a rewrite
This is the surface everyone assumes will be painful, and between these two tools it is the
easiest one. Both use a top-level mcpServers object, and both describe stdio servers with
command and args. So the file moves without being edited.
npm run check:portability -- --agent=antigravity --toml
{
"mcpServers": {
"roadmap": {
"command": "node",
"args": ["scripts/mcp/roadmap-server.mjs"]
},
"content": {
"command": "node",
"args": ["--conditions=react-server", "scripts/mcp/content-server.mjs"]
}
}
}
Remote servers are where the copy stops working. Google's MCP
documentation specifies serverUrl for HTTP and SSE servers
and states that the legacy url and httpUrl fields are not supported. Every other MCP client we
have configured uses one of those two, so a remote server entry that works everywhere else fails
here, and the failure is a config that simply does not connect. The same reference documents
env, cwd, headers, authProviderType, oauth, disabled and disabledTools, and
Antigravity ships a /mcp manager for editing all of it interactively.
The path question matters as much as the schema. We established by
measurement that Claude Code resolves relative MCP
paths against the project root. A workspace-level .agents/mcp_config.json has a project root too,
so the relative scripts/mcp/roadmap-server.mjs above survives the move — which is not true of a
home-directory config, and is the concrete reason the workspace-versus-home distinction is worth
caring about.
Subagents and skills survive the move
Both concepts exist on both sides, in the same file format, which makes this the least expensive part of the migration and the part most comparisons get wrong by listing it as a feature difference.
Claude Code keeps project subagents in .claude/agents/ as markdown with YAML frontmatter — this
repo has two, totalling 2,443 bytes, and we wrote up how they behave in
practice when we built them. Antigravity's subagent
documentation describes the same shape at
.agents/agents/<name>.md, or .agents/agents/<name>/agent.md for a directory form, discovered
automatically and surfaced through an /agents panel.
One field has no Claude Code equivalent and is easy to miss:
--- name: content-auditor description: Audits an article against content-rules.md subagent: true ---
Without subagent: true in the frontmatter the definition still loads as a selectable agent, but
the primary agent cannot delegate to it through invoke_subagent. A subagent that silently becomes
a manual-only agent is exactly the class of failure this whole comparison is about.
Skills follow the same pattern — SKILL.md files with frontmatter trigger descriptions, at
.agents/skills/ per workspace. This repository has no skills directory, so that row is a mapping
we can document and not a measurement we can make.
Where the documentation disagrees with itself
We could not establish where Antigravity CLI keeps its global configuration, and the reason is that Google's own sources give three different answers.
| Surface | Path given | Source |
|---|---|---|
| MCP servers | ~/.gemini/config/mcp_config.json | antigravity.google MCP docs |
| MCP servers | ~/.gemini/antigravity/mcp_config.json | GitHub's official MCP server install guide |
| Skills and plugins | ~/.gemini/antigravity-cli/skills/ | plugin setup documentation |
| Subagents | ~/.gemini/config/agents/ | antigravity.google subagent docs |
All four are under ~/.gemini/, and all four disagree about what comes next. We are not going to
guess which is current, and with the tool uninstalled we cannot settle it by looking — so the
honest statement is that the workspace paths are consistent across every source we read and the
global paths are not. Configure at the workspace level, where .agents/ is unambiguous and
git carries it, and use the /mcp manager rather than hand-editing a global file whose location
you cannot confirm.
What you give up moving to Antigravity CLI
A migration article that only counts config surfaces is selling something. The surfaces port well; the operating experience is where the complaints are, and they are consistent enough in the transition thread to be worth stating before you commit a team to it.
- Token consumption is reported as substantially higher for equivalent tasks, against stricter quotas that reset weekly rather than per-model.
- There are no client-side spending controls. Multiple contributors describe exhausting a budget in 10 to 20 minutes of work that previously lasted hours. Treat any cost model you have built on Gemini CLI usage as void.
- Diff visibility regressed. Changes are not consistently shown as they are applied, which is a real loss if your review habit is reading the diff as the agent works.
- Existing subscriptions do not transfer, and the licence changed from Apache-2.0 to a closed binary.
None of that is measurable from here, and we are not going to pretend otherwise — it is reported experience from the vendor's own discussion thread, which is a weaker class of evidence than the byte counts above and should be weighted accordingly. It is also the kind of thing that changes fastest after a launch. Re-read the thread before you decide.
Choosing between them
- Stay on Claude Code if your configuration is committed and shared and you have no Gemini CLI history. Nothing in Antigravity CLI's config model is enough of an upgrade to justify a migration you were not already forced into.
- Move to Antigravity CLI if you were on Gemini CLI. Your access ended in June, the config surfaces port better than from any other agent we have measured, and the continuity promise on skills, hooks and subagents is real.
- Run both while you evaluate. They read disjoint paths, so there is no conflict — make
AGENTS.mdthe real file and leaveCLAUDE.mdas a one-line@AGENTS.mdimport. - Do not decide this on the licence alone unless governance is genuinely your constraint. If it is, that is a complete answer and you should stop reading comparisons.
Whichever way you go, the first thing to change is the instruction filename, and the
configuration guide we wrote for CLAUDE.md applies
unchanged to an AGENTS.md — the format is identical and only the filename is contested.
Common mistakes switching to Antigravity CLI
- Assuming the instruction file was found. It was not, and the agent will not say so. It behaves like a well-configured tool that happens to disagree with all your conventions. Confirm which instruction files are active before concluding the model got worse.
- Copying a remote MCP entry verbatim.
urlandhttpUrlare documented as unsupported; the key isserverUrl. Stdio entries copy cleanly, which makes it easy to assume the whole file did. - Omitting
subagent: true. The agent definition loads, appears in/agents, and silently cannot be delegated to. - Hand-editing a global config path you read in a blog post. Four official and semi-official sources give three different directories under
~/.gemini/. Configure at the workspace level or use/mcp. - Carrying over a Gemini CLI cost model. Quota behaviour and token consumption both changed, and there are no client-side spending limits to catch it.
Conclusion
If you are on Claude Code and nothing forced the question, stay — Antigravity CLI's config model is a lateral move, and the reported quota and cost regressions are a poor trade for it. If you are one of the Gemini CLI users Google moved off consumer access in June, Antigravity CLI is a genuinely cheap destination from a Claude Code repo: five of six surfaces survive, your stdio MCP servers are a copy, and your subagents are a rename. Do the one-line instruction rename first, because it is the only failure in this article that is completely silent. Re-verify all of it against Google's current docs — this product is three months old and its own documentation does not yet agree with itself.
Frequently asked questions
Is Antigravity CLI a drop-in replacement for Gemini CLI?
Does Antigravity CLI read CLAUDE.md?
Do my MCP servers transfer from Claude Code to Antigravity CLI?
Can I keep using Claude Code and Antigravity CLI on the same repo?
Is Antigravity CLI open source?
Muhammad Kashif
Founder and editor of Devventa, covering AI coding assistants, Next.js and the modern AI development stack.




