Fork notice. This is a fork of
simplybychris/antigravity-plugin-ccmaintained by @limeflash. The upstream is deliberately small ("just Bash andagy"); this fork extends it toward feature parity withopenai/codex-plugin-cc: background job control (/agy:status,/agy:result,/agy:cancel), branch-base code review (--base <ref>), adversarial review, rescue safety rails (--isolate), and a CI-tested wrapper. See NOTICE and CHANGELOG.md for what changed.Status (v0.6.1): the read-only commands (
/agy:ask,/agy:review,/agy:adversarial-review) run with no--dangerously-skip-permissions— output is read fromagy's own on-disk transcript. Validated end-to-end against a realagy1.0.3 install on Windows (git-bash), WSL2 Ubuntu, and macOS 26.5; 218 unit tests + CI (shellcheck, bats, vitest on Node 18/20/22). Hardened by dogfooding the plugin's own/agy:review//agy:adversarial-reviewon its own code plus an adversarial security pass — secret-scanner coverage gaps and a macOS symlink bug fixed (see CHANGELOG.md).
Use Google's Antigravity CLI (agy) from
inside Claude Code. Delegate tasks to the agy:runner subagent, run quick
prompts, or get a second-opinion code review — without leaving your editor.
This plugin is for Claude Code users who already use (or want to start using) Antigravity and want a smooth way to call it from the workflow they already have.
/agy:setup— verifyagyis installed and authenticated; can install it for you if it is missing./agy:ask [--model <alias>] <prompt>— one-shot prompt throughagy -p; returns the raw response./agy:delegate [--background] [--model <alias>] <task>— hand a task to theagy:runnersubagent.--backgroundfor long jobs (uses Claude Code's subagent mechanism)./agy:research [--background] [--model <alias>] <topic>— delegate a deep-research investigation; wraps the topic in a structured prompt and routes throughagy:runner./agy:image <description>— generate an image withagy's built-ingenerate_imagetool (Imagen under the hood). Optional--nameand--output./agy:review [focus]— ask Antigravity to review your currentgit diff. Sends an expanded diff (-U25) plus the full content of small changed files soagysees imports/guards and doesn't raise context-blind false positives. Aborts if the diff appears to contain secrets (override viaAGY_REVIEW_ALLOW_SECRETS=1)./agy:help— show all commands, supported--modelaliases, and canonical model names.agy:runnersubagent — thin forwarding wrapper around the Antigravity CLI; available assubagent_type: "agy:runner"for programmatic delegation.
Stateful workflows with persistent job records under
<repo>/.agy-plugin/. Re-implementation of the codex-plugin-cc pattern
adapted for agy. Node.js is only needed if you use these
commands; the Bash wrapper above keeps working without it.
/agy:rescue [--isolate] [--allow-dirty] [--background] [--wait] [--resume|--fresh] [--model <alias>] <task>— like/agy:delegate, but with our own job control and safety rails. agy can edit files (it runs with auto-approval by design), so: a non-isolated rescue refuses to run on a dirty git tree (override with--allow-dirty) and prints agit diff --statafterward;--isolateruns agy in a throwawaygit worktreeso your real tree is never touched and you get a reviewable patch under.agy-plugin/patches/. Foreground by default;--backgroundreturns a job id;--background --waitblocks until done./agy:review --base <ref> [--background] [--wait] [--model <alias>] [focus]— branch-vs-base code review. Computes the merge-base of HEAD and the base ref so unrelated changes on the base branch are excluded. Without flags, falls back to the synchronous Bash wrapper (above)./agy:adversarial-review [--base <ref>] [--background] [--wait] [--model <alias>] [focus]— challenge-mode review. The prompt asksagyto question the design, propose alternatives, and end with a ship/change/rethink verdict. Pairs well with--model opus./agy:status [task-id]— list recent jobs in this workspace, or show the detail block for one. Detects orphanedrunningrecords whose worker process has died./agy:result [task-id]— print the captured output of a job (defaults to the latest). Useful right after--backgroundreturns or after--waitruns out./agy:cancel [task-id]—SIGTERMthe job's worker, escalate toSIGKILLafter a 5-second grace, and mark the record canceled.
- Claude Code with plugin-marketplace support
(
/plugin marketplace add …). - Antigravity CLI (
agy) installed locally./agy:setupcan install it on first run. - Auth for
agy: either OAuth cached in the system keyring (after one interactive run ofagy) orANTIGRAVITY_API_KEYexported in your shell. - Bash and git in
PATH. macOS, Linux, or WSL.
In Claude Code, run these three slash commands in order:
/plugin marketplace add limeflash/antigravity-plugin-cc
/plugin install agy@limeflash-antigravity
/reload-plugins
Prefer the upstream? Swap the first two lines for
/plugin marketplace add simplybychris/antigravity-plugin-ccand/plugin install agy@antigravity-cc. The slash command surface (/agy:*) is identical; the fork adds capabilities, it doesn't rename existing ones.
Then verify everything is wired up:
/agy:setup
If agy is missing, /agy:setup offers to install it via the official
installer:
curl -fsSL https://antigravity.google/cli/install.sh | bashIf agy is installed but not logged in, run agy once interactively in your
terminal to complete OAuth — or export ANTIGRAVITY_API_KEY.
/agy:ask explain the difference between Go channels and Rust async in one paragraph
Returns Antigravity's response verbatim.
/agy:delegate refactor the SQL queries in src/db/queries.go to use prepared statements
For long tasks, run in the background and let Claude Code notify you when it finishes:
/agy:delegate --background investigate why integration tests are flaky in CI
You can also delegate by talking to Claude:
Ask agy to look at this file and suggest a simpler design.
The plugin's selection rules route through the agy:runner subagent
automatically.
Stage or make some changes, then:
/agy:review
/agy:review focus on error handling and concurrency safety
/agy:delegate --model sonnet fix the off-by-one in pagination
/agy:delegate --model pro write a high-coverage test for the cache layer
/agy:ask --model opus "explain Go's escape analysis"
Supported aliases: flash-low, flash-medium, flash, pro-low, pro,
sonnet, opus, gpt-oss. The canonical TUI strings (e.g.
"Claude Opus 4.6 (Thinking)") are also accepted. Run /agy:help for the
full table.
If no --model is given, the wrapper uses whatever the TUI is currently set
to — stored in ~/.gemini/antigravity-cli/settings.json. Project-local
AGENTS.md and GEMINI.md files are read directly by agy and unaffected
by this plugin.
/agy:research what's the current state of WebGPU support across browsers in 2026?
/agy:research --background --model opus survey post-quantum signature schemes used in TLS
The command wraps your topic in a research-oriented preamble (background,
key findings, caveats, sources) and delegates to agy:runner. Long
investigations work well in --background.
/agy:image a minimalist dark-mode login mockup, blue accent color
/agy:image --name hero --output ./assets/hero.png isometric illustration of a developer at a desk
Triggers agy's built-in generate_image tool. The image is written to
the Antigravity artifacts dir (e.g.
~/.gemini/antigravity-cli/brain/<uuid>/<name>.png). Pass --output if
you want the wrapper to copy it next to your project.
Under the hood, the plugin is a thin wrapper around your local agy install:
Claude Code → /agy:* → agy-run.sh (Bash) → agy --print "<prompt>"
↘ agy-companion.mjs (Node) → agy --print "<prompt>"
- The plugin does not ship its own Antigravity runtime — it uses your
local
agybinary, your local auth, and your local config. - The Bash wrapper
(
plugins/agy/scripts/agy-run.sh) handles the synchronous commands; the Node companion (agy-companion.mjs) handles the stateful ones (background jobs, branch review).
On agy 1.0.3, agy --print flushes zero bytes to a non-TTY
stdout — the response is generated (Drip stopped: length=N in the
log) but the "drip" writer only targets a real terminal. Since the
plugin always runs agy from a subprocess, capturing stdout returns
nothing. (agy --print also hangs on a non-TTY stdin that never
EOFs, so the plugin always closes stdin.)
The read-only commands work around this without auto-approval. agy
persists its own conversation transcript to disk on every --print run —
with no tool permission required — so:
/agy:ask,/agy:review,/agy:adversarial-reviewrun with--sandboxand no--dangerously-skip-permissions, then read the answer back fromagy's transcript (~/.gemini/antigravity-cli/brain/<id>/…/transcript.jsonl, located via the run's own--log-file).agy's read-only tools (list_dir/view_file) execute without approval; it is never granted write access or the repo. (Ifnodeisn't available,/agy:askfalls back to the scopedwrite_filepath below.)/agy:rescueedits files by design, and/agy:imagesaves a generated image, so they keep thewrite_file+--dangerously-skip-permissionspath, scoped to a throwaway temp dir.rescue's repo writes are guarded by the clean-tree check, the post-run diff, and--isolateworktree mode.
See SECURITY.md for the full posture and the honest per-platform guarantee levels.
agy stores its preferences (selected model, theme, telemetry, trusted
workspaces) in ~/.gemini/antigravity-cli/settings.json. Project-local
AGENTS.md / GEMINI.md files are read directly by agy. This plugin
doesn't override or shadow any of that — drop config files where agy
expects them and they'll be picked up.
The --model <alias> flag on /agy:ask, /agy:delegate, and /agy:research
swaps in your requested model for the duration of a single call (under a
lockfile, with automatic restore on exit) and leaves the TUI's selected
model intact for subsequent runs.
You need whatever account agy accepts: Google AI Pro, Ultra, Code Assist
Standard/Enterprise, or an enterprise GCP project. See the
Antigravity docs for details.
No. The plugin runs agy locally over a Bash wrapper. The wrapper only reads
filesystem paths and your shell environment. Your prompts go directly to
Google through agy's normal channels.
Yes — the plugin uses your local install. Running agy directly in a
terminal keeps working exactly as before.
Subagents in Claude Code can run in the background and report back when
finished. That is the workflow you want when you "hand this off to another
model and keep working" — which is the whole point of delegating to agy.
Tracking parity with openai/codex-plugin-cc. Phased plan:
- Phase 1 — Foundation ✅
- Fork attribution (
NOTICE, updatedLICENSE, marketplace renamed tolimeflash-antigravity). - Validate
IMAGE_PATHstays inside theagyartifacts dir beforecp— closes a low-severity exfil vector. - Pre-flight secret scan on
git diffbefore/agy:review. - CI: shellcheck + bats unit tests on every PR.
- Community files:
SECURITY.md,CONTRIBUTING.md, issue/PR templates, dependabot.
- Fork attribution (
- Phase 2 — codex-plugin-cc parity ✅ (0.5.x)
- Node.js companion scaffold + state machine
(
lib/state.mjs,lib/job-control.mjs,lib/tracked-jobs.mjs, …). -
/agy:rescuewith--background,--wait,--resume,--freshand job control. -
/agy:status,/agy:result,/agy:cancel. -
/agy:review --base <ref>for branch review (merge-base resolution + expanded-U25+ full-file context). -
/agy:adversarial-review(challenge-mode review). -
agy#76 capture: read-only transcript capture (no auto-approve) for ask/review/adversarial +write_filefallback + non-TTY stdin-hang fix — validated against realagy1.0.3. -
/agy:rescuesafety rails: clean-tree guard, post-run diff,--isolateworktree mode. - Secret-scan guardrails (Bash + companion parity).
- CI: shellcheck + bats + vitest matrix (Node 18.18 / 20 / 22).
- Optional Stop-gate review hook (deferred — the hook can block Claude responses; wants a careful safety review first).
- Node.js companion scaffold + state machine
(
- Phase 3 — Antigravity-specific (not started)
- Safe
/agy:scrape,/agy:doc-to-md(no auto-approve, deny-list on input paths/URLs). - Windows-native (PowerShell) port.
- Safe
See CHANGELOG.md for shipped changes.
This fork extends
simplybychris/antigravity-plugin-cc,
which is itself inspired by
openai/codex-plugin-cc.
The goal is to keep the security posture as tight as agy allows while
reaching the codex-plugin-cc feature surface. agy 1.0.3 returns no output
from --print in a non-TTY context (issue #76); the read-only commands
work around this by reading agy's own on-disk transcript, so they need
no auto-approval (see How output is captured).
The only commands that auto-approve are the write-capable ones
(/agy:rescue, /agy:image), scoped to a temp dir and — for rescue —
guarded by --isolate worktree mode.