Run Gemini 3.5 from inside Claude Code

TL;DR: We open-sourced antigravity-plugin-cc, an MIT-licensed Claude Code plugin that drives Google's Antigravity CLI (agy, powered by Gemini 3.5) without leaving your Claude Code session. Two commands carry it: /antigravity:review gets Gemini 3.5 to review the diff Claude just wrote (different model, different blind spots), and /antigravity:delegate hands a self-contained task to Gemini 3.5 in the foreground or background while you keep working. Install: /plugin marketplace add Idun-Group/antigravity-plugin-cc.

The problem: two models, one terminal

You're deep in a Claude Code session. You just wrote a tricky migration, or a piece of auth logic you don't fully trust, and you want a second model to look at it before it ships. Or you have a boring, well-scoped refactor sitting in the backlog that you'd happily hand off so you can stay focused on the hard part.

Both of those are good instincts. A second model catches things the first one wrote around. A second pair of hands clears the queue faster. The trouble is that acting on either one means leaving Claude Code: open another terminal, copy the diff over, paste the answer back, lose your place. The context switch costs more than the review.

So we built the thing that removes the switch.

What we built

antigravity-plugin-cc is a Claude Code plugin that lets you drive Google's Antigravity CLI from inside Claude Code. Antigravity ships a binary called agy, backed by Gemini 3.5. The plugin wraps it so Gemini 3.5 becomes a tool you call mid-session, the same way you'd call any other slash command. It's the Antigravity analogue of openai/codex-plugin-cc, which inspired the design.

Two commands do most of the work.

/antigravity:review — cross-model code review. Claude writes a diff, then you hand that diff to Gemini 3.5 for a second opinion. The point isn't "is one model better." It's that two models trained differently fail differently. The reviewer wasn't anchored on the same assumptions as the author, so it flags different things. That's the entire value of a second reviewer, human or otherwise.

/antigravity:delegate — offload a self-contained task to Gemini 3.5. A refactor, a migration, a throwaway script. Run it in the foreground when you want to watch, or --background when you'd rather keep typing in Claude Code and check the result later.

The full command set, compactly:

- /antigravity:setup — check agy is installed and signed in - /antigravity:delegate — hand a task to Gemini 3.5 (foreground or --background) - /antigravity:review — cross-model review of the current diff - /antigravity:resume — continue a previous Antigravity conversation - /antigravity:status — check on a running or background job - /antigravity:result — fetch the output of a completed job - /antigravity:cancel — stop a running job

Under the hood there's also an antigravity-pair delegation subagent and three skills: antigravity-cli-runtime, antigravity-result-handling, and a researched gemini-3-prompting skill so the prompts you send actually suit the model on the other end.

How it works, honestly

The plugin drives agy in headless print mode (agy --print). That part is straightforward. The part worth talking about is what agy does when things go wrong.

We tested against agy 1.0.3. When the per-account preview quota runs out, agy --print exits 0 with completely empty stdout. Exit code zero, no output, no error. From a script's point of view that looks like a successful run that produced nothing, which is the worst kind of failure: silent and misclassified.