Skip to main content

Antigravity CLI

Antigravity CLI runs as agy. Its hooks pin the conversation and report turns, but permission prompts are still read from the screen, and the info view has no live context or cost data.

Commandagy
Installcurl -fsSL https://antigravity.google/cli/install.sh | bash
Hook configuration~/.gemini/config/hooks.json
Skill location~/.gemini/config/skills/saggar-cli/SKILL.md
Resumeagy --conversation <id>, or agy --continue without an id

Launching

Antigravity routes to several model families. The launch menu offers Gemini 3.1 Pro High, Gemini 3.1 Pro Low, Claude Sonnet 4.6, Claude Opus 4.6, and GPT-OSS 120B. The Gemini Flash rows sit under More models. Antigravity takes no reasoning-effort flag, so the effort control doesn't apply.

Hooks

Installing hooks adds Saggar's entries to Antigravity's JSON hook file. The hooks report model invocation starts and execution-loop stops, including the exact conversation id. With them installed Saggar:

  • pins the exact conversation for resume;
  • reports completed turns from Antigravity's own lifecycle;
  • shows the model the hook reported in the info view.

Antigravity has no published hook history Saggar can pin a version against, so nothing is version gated.

Prompts and automatic approval

Antigravity doesn't expose a permission event, so prompts are inferred from the screen. Saggar recognizes the dialogs as Antigravity CLI 1.1.26 prints them: the command dialog that opens with "Requesting permission for", the file access and file creation dialogs, and the edit dialog. Automatic approval answers the first choice, which is the one-time allow in each. Antigravity's widening options say "always allow" where Claude says "don't ask again", and Saggar never picks those.

The deny-list applies before any answer.

Resume

With a recorded id, restore runs agy --conversation <id>. Without one it runs agy --continue.

Further reading