Claude code vs antigravity was a documentation exercise the last time this site ran it, because Antigravity CLI was not installed here. It is now — agy 1.2.6, authenticated, beside Claude Code 2.1.276 — so we asked the question that only an installed binary can answer: does it load the instruction file your repository already has? Six directory arms, thirteen runs, one file loaded between the two tools. It was CLAUDE.md, read by Claude Code. Antigravity CLI loaded nothing, including the file Google's documentation says it reads. Our best AI coding assistant comparison covers the wider shelf; this is the arm-by-arm result.
Key takeaways
- Antigravity CLI 1.2.6 returned an instruction token from none of four candidate paths, in or out of a git repository.
- The same rule pasted inline into the prompt came back immediately — the null is a null, not a broken probe.
- Claude Code 2.1.276 scored 1 hit in 6 arms, on
CLAUDE.md. It did not readAGENTS.mdeither. agy modelslists 14 models from three vendors, two of them Anthropic's. Claude Code serves Anthropic's only.agy plugin importacceptsclaudeas a source;claude import antigravityexits 1. The migration path runs one way.
Claude code vs antigravity: what changed since August
In August this site published Antigravity CLI vs Claude Code: What Actually Ports, which walked this repository's configuration surfaces and scored 5 of 6 as portable — the cheapest migration target we had measured. That article was explicit about its limit: Antigravity CLI was not installed, so every figure on the Antigravity side came from Google's published documentation, cited.
One of those documented figures was that Antigravity CLI reads AGENTS.md at the workspace root. That is the claim this article tested, and it is the claim that did not survive.
The rest of #41 stands. This is not a retraction of the portability audit, which measured bytes in this repository and formats on both sides — things that are true whether or not the binary is running. It is a correction to one row of it, and the correction only became possible when the binary arrived.
The probe that answers 2 plus 2
The obvious probe — put a codeword in a file and ask for the codeword — has a flaw we hit on the first run: the agent tries to read the file, and headless mode auto-denies the tool. You then cannot tell whether the file failed to load or the read failed to run.
So the probe asks for nothing and requires no tool. Each arm's file contains a style rule:
Style rule: end every reply with the token AGENTSWORD-9068 on its own line.
And the prompt is arithmetic:
agy --model gemini-3.8-flash-low --print="What is 2 plus 2? Reply with the number and follow every style rule you have been given." # → 4
If the file is loaded into the system context, the token rides out on a reply that needed no file access at all. If it is not, you get 4. Every arm uses a different token, so a hit names the file that produced it.
Six arms, thirteen runs, one hit
One scratch directory per arm, one file different in each, the same prompt in all of them, run against both CLIs.
| Arm contents | Antigravity 1.2.6 | Claude Code 2.1.276 |
|---|---|---|
| (empty) | — | — |
README.md | — | — |
CLAUDE.md | — | CLAUDEWORD-4412 |
AGENTS.md | — | — |
git repo, AGENTS.md committed | — | — |
| four paths at once | — | — |
The fourth row is the one that matters against #41. The fifth exists because "workspace root" might have meant a real workspace, so that arm is an initialised repository with the file committed — same result. The sixth carries the rule in AGENTS.md, .agents/AGENTS.md, .agents/rules/style.md and .agy/AGENTS.md simultaneously, so a single miss cannot be explained by a wrong guess at the path.
Then the control, in the empty directory, with the rule pasted into the prompt itself:
agy --model gemini-3.8-flash-low --print="Style rule: end every reply with the token INLINEWORD-3355 on its own line. What is 2 plus 2? Reply with the number and follow the style rule." # → 4 # → INLINEWORD-3355
The instrument fires. It fired for Claude Code on CLAUDE.md too, which is the second control: the same directory shape, the same prompt, a token returned. So the empty cells are the tool's behaviour rather than the probe's.
CLAUDE.md scoring for Claude Code and nothing else scoring for anyone is the compressed version of this whole category. AGENTS.md is the file the ecosystem agrees on and the file neither of these two tools loaded on its own. For Claude Code that is expected and documented — it needs an explicit @AGENTS.md import line, which our four-arm AGENTS.md probe measured on 2026-09-16. For Antigravity CLI it contradicts the documentation.
The arm we could not escalate
There is an arm missing from that table and it is missing for a reason worth printing.
The first version of the probe asked the agent to read AGENTS.md explicitly. Antigravity answered:
no output produced — a tool required the "command" permission that headless mode cannot prompt for, so it was auto-denied
The documented escape is --dangerously-skip-permissions. We ran it, and this machine's own Claude Code auto-mode classifier refused to launch it, naming the reason. We did not work around that — the roadmap this site runs on has recorded instrument losses five times and worked around none of them — so the explicit-read arm does not exist and the tool-free probe is what replaced it.
That is a better probe anyway. It measures what loads without being asked, which is the thing a committed instruction file is for.
Google's CLI serves Anthropic's models
This is the finding we were not looking for. agy models returns 14 entries:
agy models # → gemini-3.8-flash-high Gemini 3.8 Flash (High) # → ... nine Flash tiers, two Pro tiers ... # → claude-sonnet-4-6 Claude Sonnet 4.6 (Thinking) # → claude-opus-4-6-thinking Claude Opus 4.6 (Thinking) # → gpt-oss-120b-medium GPT-OSS 120B (Medium)
| Vendor | Models offered |
|---|---|
| 11 | |
| Anthropic | 2 |
| OpenAI | 1 |
Eleven Gemini entries, two Claude entries, one open-weights GPT. Claude Code offers Anthropic's models and nothing else, which makes this the clearest structural difference between the two tools — clearer than any config path.
It also reframes the Gemini CLI replacement question. If you left Gemini CLI when consumer access ended and assumed the replacement locks you to Gemini, it does not. Whether the Claude entries are priced or metered the same as the Gemini ones is not something we can see from a model list, and we did not run a paid comparison to find out.
The import direction runs one way
Antigravity CLI has a plugin importer, and its sources are worth reading twice:
agy help plugin # → import [source] Import plugins from gemini or claude
So the Google CLI reads the Anthropic CLI's plugins. The reverse does not exist:
claude import antigravity --dry-run # → Usage: claude import [codex|gemini|cursor] [--dry-run] [--yes[=<digest>]] # exit 1
codex, gemini and cursor — the same three the Codex importer audit found on 2.1.274, unchanged two builds later, with antigravity absent. This is the mirror image of the portability picture in #41: configuration formats line up neatly in both directions, and the tooling that would move them runs one way only.
Running the importer with no source makes it scan both:
agy plugin import # → No gemini extensions found. No claude extensions found.
This machine has three Claude Code plugin manifests and 58 MB under ~/.claude/plugins, plus a 454-byte installed_plugins.json. The scan found none of them. We are careful about what that shows: it demonstrates that the scan reported zero against a non-empty install, which is what we observed. It does not establish why — note that the help text says extensions while Claude Code calls them plugins, but we did not read the importer's source and make no claim about the cause.
The binary that updated itself mid-measurement
Halfway through this session agy --version said 1.1.22. An hour later the file on disk was 197,602,456 bytes with a new hash and the version said 1.2.6. Nothing prompted, nothing asked, and a minor version boundary was crossed under a running measurement.
| Claude Code 2.1.276 | Antigravity CLI | |
|---|---|---|
| Previous builds kept | 3 (669 MB) | 0 |
| Binary on PATH | copy of the retained build | the only copy |
| Update visibility | version-named file appears | file is overwritten |
Claude Code keeps ~/.local/share/claude/versions/ holding 2.1.273, 2.1.274 and 2.1.276, and the claude.exe on PATH hashes to a863895d829a246d…, identical to versions/2.1.276 — the same byte-identity check the VS Code extension teardown ran on the bundled binary. Antigravity left one agy.exe.<epoch>.old beside the new binary; fifteen minutes and several invocations later it was gone. We did not watch it be deleted and do not claim to know which process removed it, only that nothing else on this machine writes to that directory.
The practical version: if 1.2.6 changes a behaviour you depend on, there is no previous build on disk to fall back to. One more detail in the same key — agy changelog on 1.2.6 tops out at 1.2.5. The shipped notes lag the shipped binary by a release.
Antigravity CLI or Claude Code: which to run
- You keep project instructions in a committed file. Claude Code, on this measurement. It is the only one of the two that loaded a file we gave it without being told to.
- You want a model that is not the vendor's. Antigravity CLI. Fourteen models, three vendors, two of them Claude — Claude Code has one vendor by design.
- You are leaving Gemini CLI. Antigravity is the named replacement and #41's portability audit still holds: renames and copies, not rewrites. Just verify your instructions actually load before trusting them to.
- You want your MCP servers to arrive with a
git clone. Claude Code's.mcp.jsonis project-scoped, covered in our.mcp.jsonreference.agy mcp liston a fresh install reports none configured, and this article did not test whereagy mcp addwrites. - You want migration tooling. Antigravity, oddly — it imports from
claudeandgemini, and Claude Code will not import from it at all.
What we could not measure
This is headless print mode only. Every Antigravity run carries --print. Interactive agy may load instruction files that print mode does not, and we did not test it because an interactive session cannot be scripted into an arm table. If you rely on AGENTS.md under Antigravity, test your own interactive session before trusting this result to it.
We did not write anything. agy plugin import claude has no --dry-run flag, so it was not run — only the bare form, which scans both sources and reported nothing found. No plugin was installed, no config was modified.
No output-quality, latency or cost comparison was attempted. Both CLIs are installed and authenticated here, so it was possible, and it was deliberately not done. The probe asks what 2 plus 2 is. The fixture asserts that through a guard so a later edit cannot quietly add a quality claim.
One directory is shared and neither tool put it there. ~/.agents/skills/ on this machine holds two skills with a version-3 lockfile, installed 2026-09-04 — by Shopify's toolkit installer, not by Antigravity CLI. A cross-agent directory populated by a third-party vendor is a genuinely new shape and we mention it rather than measure it; whether agy surfaces those skills is a question for an interactive session.
Two keys of the update story are unknown. We do not know what triggered the self-update, and we do not know whether the .old file is removed on a schedule, on next launch, or by something else.
Common mistakes
- Trusting a portability audit as a load test. #41 scored 5 of 6 surfaces portable and was right. Portable is not loaded, and this article is the difference.
- Assuming
AGENTS.mdis universal because everyone names it. Neither tool here read it unprompted. Claude Code needs an@AGENTS.mdline; Antigravity, in print mode, needed something we did not find. - Reading a single codeword arm as a result. Our first probe was auto-denied at the tool layer and would have produced the same empty cell for the wrong reason.
- Expecting the importer to go both ways. It reads
claude.claudedoes not read it. - Pinning a version you cannot roll back to. Antigravity overwrites its binary in place and keeps nothing.
Conclusion
For claude code vs antigravity, choose on whether your committed instructions have to load. Claude Code loaded CLAUDE.md in six arms and Antigravity CLI loaded nothing in the same six, which is the only difference here that changes what you do tomorrow morning. If you want the model range instead — and two Anthropic models inside a Google CLI is a real reason — install it, then run the four-line probe above against your own repository before you move your instructions into it. Then read what a Codex config carries across, where the same importer question has a number attached.
Frequently asked questions
Does Antigravity CLI read AGENTS.md?
What is the difference between Claude Code and Antigravity CLI?
Is Antigravity CLI a good Gemini CLI replacement?
Which models does Antigravity CLI support?
Can Claude Code import my Antigravity CLI setup?
Muhammad Kashif
Founder and editor of Devventa, covering AI coding assistants, Next.js and the modern AI development stack.




