Antigravity CLI (agy)
Task-indexed reference for the Antigravity CLI. agy is the SOLE second-opinion /
challenger / research delegate on this host. Verified locally 2026-07-24 from agy --help,
agy help <sub>, agy models, and agy --version (1.1.6).
agy is the SOLE second-opinion / challenger / research delegate on this host.
The gemini CLI was retired from this ecosystem on 2026-07-25 by user directive — not
because Google withdrew it, but because agy replaced it. The gemini-cli skill, the
nano-banana image skill that wrapped it, and its affordance registry were deleted.
There is no gemini fallback path. Do not add one, and do not reintroduce gemini -p
or mcp__gemini-cli__* calls to any skill.
Do NOT confuse this with the Vertex AI Gemini API, which is alive and in use —
vertex-banana calls it directly via VERTEX_API_KEY with no CLI dependency. Retiring the
CLI did not retire the API.
Two CLIs matter on this host: agy (~/.local/bin/agy, v1.1.6) = the Antigravity-runtime
delegate (this skill) — the SOLE second-opinion delegate; antigravity (/bin/antigravity,
v1.107.0) = the editor (VS Code/code-server fork), NOT for headless orchestration. Note that
~/.gemini/ is agy's own config home (agy.md, antigravity-cli/, OAuth creds) despite
the name — never delete it.
Canonical host directive: ~/.claude/CLAUDE.md → "Antigravity CLI (agy) — host-specific
directive". This skill is the operational detail behind it.
When to use
- Delegating a headless prompt to a non-Claude model for a second opinion, challenger
review, design ratification, or research — the
agy -p "..." pattern.
- Authoring skills/agents that shell out to
agy.
- Managing agy plugins, sessions, sandbox, or auth.
- Any skill needing a non-Claude second opinion — route it through
agy -p now.
The headless orchestration pattern (primary use)
Two patterns, chosen by whether agy must USE TOOLS (read files, run commands,
search) or only reason over content you pipe in:
# Pattern 1 — ADVISORY (default): agy reasons over an inline/self-contained prompt.
# Under --sandbox, headless agy auto-denies EVERY tool, so this prompt MUST NOT
# need to read a file or run a command — give it everything inline.
timeout 600 agy --sandbox -p "<full self-contained prompt>" < /dev/null
# Pattern 2 — TOOL-CAPABLE (opt-in): agy must read files / run commands / search.
# --dangerously-skip-permissions is the ONLY thing that unlocks headless tool use;
# it still runs INSIDE --sandbox (shell/git stay gated). Verified working 2026-07-17.
timeout 600 agy --sandbox --dangerously-skip-permissions -p "<prompt>" < /dev/null
git -C <repo> status --short # tripwire after any repo-exposed call
HEADLESS-TOOL RULE (verified 2026-07-17 on agy 1.1.3; RE-VERIFIED 2026-07-24 on 1.1.6
with --model gemini-3.6-flash-high — Pattern 2 read a real file successfully, ~29s).
--sandbox in headless
-p mode auto-denies every tool — not just shell/git but read_file too
("jetski: no output produced — a tool required the … permission that headless
mode cannot prompt for"). The permissions.allow list in
~/.gemini/antigravity-cli/settings.json is inert under --sandbox (its
action(*) grants only take effect un-sandboxed, and un-sandboxed agy -p is
blocked by the Claude Code auto-mode classifier). So a Pattern-1 call that needs
to READ a file silently no-shows — inline everything, or switch to Pattern 2.
--dangerously-skip-permissions overrides the auto-deny while --sandbox keeps
shell/git capped (the S052 commit vector); native write_file is the accepted
residual → keep the git status --short tripwire, never --add-dir a writable
repo. Standing config stays TIGHT (command(agy), command(cpmail) only) —
capability is a per-call flag, not a standing broad grant. This SUPERSEDES the
older "omit --sandbox for writes" advice below: never drop --sandbox, add the
skip-permissions flag instead.
FLAG ORDER RULE — every flag BEFORE -p (root-caused 2026-07-02). -p is a Go string
flag: it consumes the NEXT token as the prompt, even if that token starts with -. So
agy -p --sandbox "X" silently runs with prompt = literal --sandbox, sandbox OFF, and
"X" discarded — agy then improvises from its implicit memory (observed: authored AND executed
a repo-editing script across two such malformed calls; also the cause of the 2026-07-01
smart-analyst incident where an "analyst" edited two tracked test files after its brief
never reached it). It can also fork-bomb: the inner agent re-tests the same broken command
recursively until timeout. Always agy --sandbox --add-dir D --print-timeout 15m -p "…" —
-p "<prompt>" LAST.
SANDBOX RULE — --sandbox is MANDATORY for consultancy/read-only delegation, but know its
scope (#157, S052 rogue auto-commit incident; re-verified 2026-07-02 on 1.0.15). agy has
write/shell/git tools ON by default, and headless -p auto-approves them without
--dangerously-skip-permissions — a plain agy -p "create a file …" probe wrote the file.
--sandbox enables bubblewrap terminal restrictions: it constrains shell/git commands
(the S052 rogue-commit class) but does NOT gate agy's native file-write tool — a correctly
sandboxed call still edited a file in its --add-dir workspace on request (verified
2026-07-02). Therefore: (1) --sandbox on every advise-only call; (2) do NOT --add-dir a
writable live repo for consultancy — pipe content (cat file | agy --sandbox -p "…") or
point at a read-only copy; (3) open consultancy prompts with "Advisory only — do not modify
any files; answer on stdout" (~/.gemini/agy.md also enforces an advise-only default at the
directive layer); (4) tripwire: after any call that exposed a repo, run git status --short
and revert anything agy touched. Never omit --sandbox (superseded 2026-07-17 by the
HEADLESS-TOOL RULE above): when agy must write/run tools, keep --sandbox AND add
--dangerously-skip-permissions — that gives tool use with shell/git still capped, which is
strictly safer than dropping the sandbox.
STDIN RULE — < /dev/null is MANDATORY for headless calls (root-caused 2026-06-05, task #135).
agy reads non-TTY stdin until EOF before running the prompt; in background/harness/cron
shells stdin is an open stream that never EOFs, so agy blocks forever with 0 bytes of output —
and --print-timeout does NOT protect you (it only guards the response-print phase, which is
never reached). Close stdin (< /dev/null) or pipe real input (cat file | agy -p "..." —
the pipe EOFs). ALWAYS also wrap in a shell timeout. Prompt SIZE is irrelevant: a 30-char
prompt hung in the bad context; an 11KB prompt with stdin closed answered in 9 seconds.
(Discriminating evidence: T1 bare/background = exit 124 @ 0B; T2 identical + < /dev/null =
answer in 5s. Same stdin-until-EOF behavior class as codex exec.)
Convention: pass no model flag. As of agy ≥1.0.5 a --model flag DOES exist (and an
agy models subcommand lists the choices) — but our convention is to omit it and let agy use
the Antigravity-account configured model. Do not add --model unless a call explicitly
needs a specific model. (There is no short -m alias; the gemini -m gemini-3.1-pro-preview
pattern still does NOT apply to agy.) See Models below — the account default moved to
Gemini 3.6 Flash on 2026-07-24, so the omit-the-flag convention now gets 3.6 for free.
agy takes no API-key env prefix — it authenticates via the Antigravity account
(~/.antigravity/). The gemini GOOGLE_CLOUD_PROJECT= GEMINI_API_KEY= prefix does NOT apply to agy.
Output is plain text on stdout — parse text, not JSON. There are no structured
response fields.
--print-timeout defaults to 5m; raise it for long deliberations:
agy --print-timeout 15m -p "...".
For verdict provenance, append a served_by probe line to the prompt — self-reported
model identity is unreliable. Observed 2026-06-05: the account default served
gemini-3.5-flash. Observed 2026-07-24: the account default serves Gemini 3.6 Flash.
Both are flash-tier — weight challenger/analyst verdicts accordingly (advisory tier),
per the established tier-stratified-verdict practice. Flash-tier is not a limitation to work
around: agy is flash-only by standing directive (see the Models HARD-RULE). If a decision
needs pro-tier reasoning, escalate to a different arm rather than repointing agy's model.
Models (verified 2026-07-24, agy models on 1.1.6)
gemini-3.6-flash-{high,medium,low} gemini-3.1-pro-{high,low}
gemini-3.5-flash-{high,medium,low} claude-sonnet-4-6
claude-opus-4-6-thinking
gpt-oss-120b-medium
- Account default =
gemini-3.6-flash (verified 2026-07-24 via a served_by probe with
no --model flag). The omit-the-flag convention therefore rides the 3.6 line automatically.
- Effort suffixes (
-high / -medium / -low) are new relative to the 3.5 line and select
reasoning effort within a model. Measured on this host (Pattern 1, trivial prompt):
gemini-3.6-flash-high ≈ 5s, gemini-3.6-flash-low ≈ 5s; Pattern 2 (tool-capable, one
read_file) ≈ 29s on -high. Both patterns verified working on 3.6.
| Verdict |
Models |
| ✅ ALLOWED |
gemini-3.6-flash-{high,medium,low} (current line — the account default) |
| ✅ allowed, legacy |
gemini-3.5-flash-{high,medium,low} |
| ❌ FORBIDDEN |
claude-sonnet-4-6, claude-opus-4-6-thinking |
| ❌ FORBIDDEN |
gpt-oss-120b-medium |
| ❌ FORBIDDEN |
gemini-3.1-pro-{high,low} — pro tier is NOT used on agy |
Two independent reasons, both binding:
- Provider diversity (the
claude-* / gpt-oss-* half). agy occupies the third-model slot
precisely because it is not Anthropic and not OpenAI. A claude-backed "third model" shares
the Claude arm's blind spots and the cross-check becomes theatre; gpt-oss-* collapses into
the Codex arm the same way. This is a live trap: agy seats in avengers already fail over to
claude hosts when the headless permission auto-deny fires (S062–S067 carry-over), and the
tempting "fix" for an agy no-show is --model claude-sonnet-4-6. That is the WRONG fix — it
converts a recorded provider gap into a hidden one.
- Flash-only tier discipline (the
gemini-3.1-pro-* half). agy is a flash-tier delegate by
standing directive. Do not reach for pro to "get a better answer" — treat agy verdicts as
advisory-tier and weight them accordingly. If a decision genuinely needs pro-tier reasoning,
that is a reason to escalate to a different arm (Claude/Codex), not to repoint agy.
Correct responses to an agy no-show or a weak agy answer: (a) re-apply the STDIN +
FLAG-ORDER + Pattern-2 rules and retry, (b) record the provider gap honestly and proceed short-handed. There is no gemini fallback —
that CLI was retired from this ecosystem 2026-07-25. Never repoint
the model.
Verified flags (from agy --help, v1.1.6)
| Flag |
Meaning |
-p, --print, --prompt |
Run a single prompt non-interactively and print the response |
--print-timeout <dur> |
Timeout for -p wait (default 5m0s) |
-i, --prompt-interactive |
Run an initial prompt, then continue interactively |
-c, --continue |
Continue the most recent conversation |
--conversation <id> |
Resume a specific conversation by ID |
--add-dir <path> |
Add a directory to the workspace (repeatable) |
--model <name> |
Model for the current CLI session (added in 1.0.5; no short -m alias). Convention: omit it — let agy use the account default (gemini-3.6-flash as of 2026-07-24). List choices with agy models. If you must pass it, gemini flash models ONLY — claude-*, gpt-oss-*, and gemini-3.1-pro-* are all FORBIDDEN on agy (Models HARD-RULE). |
--sandbox |
Run with terminal restrictions enabled (bubblewrap on Linux). MANDATORY for consultancy/read-only calls, and MUST come BEFORE -p (see FLAG ORDER + SANDBOX RULEs). Scope: constrains shell/git commands only — does NOT gate native file writes (verified 2026-07-02, 1.0.15) |
--dangerously-skip-permissions |
Auto-approve all tool permission requests (fully-headless only) |
--log-file <path> |
Override the CLI log file path |
Bare agy (no -p/-i) opens an interactive session.
Subcommands (verified)
| Command |
Notes |
agy changelog |
Show changelog / release notes |
agy help [sub] |
Help for a subcommand |
agy install [--dir D] [--skip-aliases] [--skip-path] |
Configure shell PATH + aliases |
agy models |
List available models (added in 1.0.5; pairs with the --model flag). Verified output on 1.1.6 in Models above. Note that most of what it lists is OFF-LIMITS here: agy is flash-only, so 3.1-pro, claude-*, and gpt-oss-* all appear in the listing but must never be selected |
agy update |
Update the CLI |
agy plugin … |
Plugin management (see below); alias agy plugins |
Plugins (agy plugin <cmd>)
| Command |
Notes |
list |
List imported plugins |
import [source] |
Import plugins from gemini or claude (e.g. agy plugin import claude) |
install <target> |
Install a plugin (plugin@marketplace supported) |
uninstall <name> / enable <name> / disable <name> |
Lifecycle |
validate [path] |
Validate a plugin |
link <marketplace> <target> |
Generate a link to a marketplace |
agy plugin import claude can pull Claude plugins into agy — useful for reusing the
existing skill set rather than re-authoring.
Auth / config
- Authenticates via the Antigravity account; no per-call API-key env var.
- Config lives under
~/.antigravity/ (argv.json, extensions/) and
~/.gemini/antigravity-cli/. (argv.json is JSONC-style — not strict JSON.)
- Binary:
~/.local/bin/agy (v1.1.6). A separate antigravity binary is the IDE; for CLI
orchestration always use agy.
Context / instructions files (VERIFIED 2026-06-03, empirical probes)
agy DOES honour markdown instruction files — the contract was confirmed by writing distinct
sentinels and reading them back via agy -p from a clean working directory:
| Path |
Scope |
Read by agy? |
~/.gemini/agy.md |
global (every invocation, any cwd) |
✅ YES — the host directive lives here |
~/.gemini/GEMINI.md |
global |
✅ YES — but left empty (we use agy.md; GEMINI.md is gemini's own file, and gemini retires 2026-06-18) |
<cwd>/AGENTS.md |
per-workspace (additive) |
✅ YES |
<cwd>/agy.md |
per-workspace (additive) |
✅ YES |
~/agy.md (home root) |
— |
❌ NO — not a context path |
~/.gemini/antigravity-cli/brain/, implicit/*.pb |
agy internal memory |
binary protobuf — NOT user-editable |
- The host directive is
~/.gemini/agy.md (created 2026-06-03; hardened 2026-07-02): establishes
agy's second-opinion/challenger role, an ADVISE-ONLY default (no file writes / state-changing
commands / git commits unless the prompt explicitly grants them), plain-text output,
anti-sycophancy, stay-on-prompt, and the served_by probe convention. Every agy -p call
inherits it. It is a behavioural layer only — keep the --sandbox flag AND the advise-only
prompt line on every read-only call: the directive can be ignored, and --sandbox covers
shell/git but not native file writes, so the layers only work together.
- Identity caveat: agy keeps its baked-in "pair-programmer" self-concept — asked "what is
your role," it recites that, NOT the agy.md text. But it follows specific instructions placed
in agy.md (proven: an exact-string instruction round-tripped verbatim). So put behavioural
rules in agy.md; don't expect it to re-describe its role from the file.
- Pollution note: because agy reads
<cwd>/AGENTS.md + <cwd>/agy.md, calling agy -p from
a project root pulls that project's workspace context in as additive context. For a clean
second opinion, call from a neutral cwd or keep the prompt fully self-contained.
Not verified / do NOT assume
The following have no verified agy equivalent — do not assume agy supports them without
checking agy help:
- Policy engine (
--policy / --admin-policy), --allowed-tools semantics.
- Hooks, A2A/ACP servers,
--output-format json/stream-json, settings-schema specifics.
(The GEMINI.md / AGENTS.md / agy.md context-file contract is now verified — see
"Context / instructions files" above.)
If a workflow needs one of these, probe agy help / agy <sub> --help and confirm before
documenting it as supported.
The Antigravity editor (out of scope — B3 sentinel, Evergreening v1 S041)
antigravity (/bin/antigravity, v1.107.0) is the Antigravity IDE/editor — a separate
product from this CLI (agy). It is explicitly out of scope for this skill and for the
evergreening detection bus in v1: we watch the agy CLI surface (commands/flags/version via
verify-agy-install.sh + the affordance registry), but we do not track the editor's
release notes, settings schema, or internal capabilities (IDE release-note monitoring is on
the §3 not-watched list). The editor is mentioned here only so the boundary is explicit: if you
need editor behaviour, that is a separate, unmanaged surface — probe it directly and do not
infer it from agy. (Deep IDE semantic analysis is a deferred v1.1 item.)
1---2name: antigravity-cli3description: Use when delegating to or working with the Antigravity CLI (`agy`) — headless single-prompt orchestration (`agy -p`), interactive/resume modes, model selection, plugins, sandbox, and auth. `agy` is this host's SOLE second-opinion / challenger / research delegate — the gemini CLI was retired from this ecosystem on 2026-07-25 and has no fallback path. Covers Antigravity CLI 1.1.6 (verified locally 2026-07-24 from `agy --help`, `agy models`, `agy --version`).4---56# Antigravity CLI (`agy`)78Task-indexed reference for the Antigravity CLI. **`agy` is the SOLE second-opinion /9challenger / research delegate** on this host. Verified locally 2026-07-24 from `agy --help`,10`agy help <sub>`, `agy models`, and `agy --version` (1.1.6).1112> **`agy` is the SOLE second-opinion / challenger / research delegate on this host.**13> The gemini CLI was **retired from this ecosystem on 2026-07-25** by user directive — not14> because Google withdrew it, but because `agy` replaced it. The `gemini-cli` skill, the15> `nano-banana` image skill that wrapped it, and its affordance registry were **deleted**.16> **There is no gemini fallback path. Do not add one**, and do not reintroduce `gemini -p`17> or `mcp__gemini-cli__*` calls to any skill.18>19> **Do NOT confuse this with the Vertex AI Gemini API, which is alive and in use** —20> `vertex-banana` calls it directly via `VERTEX_API_KEY` with no CLI dependency. Retiring the21> *CLI* did not retire the *API*.2223**Two CLIs matter on this host:** `agy` (`~/.local/bin/agy`, v1.1.6) = the Antigravity-runtime24delegate (this skill) — the SOLE second-opinion delegate; `antigravity` (`/bin/antigravity`,25v1.107.0) = the editor (VS Code/code-server fork), NOT for headless orchestration. Note that26`~/.gemini/` is **agy's own config home** (`agy.md`, `antigravity-cli/`, OAuth creds) despite27the name — never delete it.2829> Canonical host directive: `~/.claude/CLAUDE.md` → "Antigravity CLI (`agy`) — host-specific30> directive". This skill is the operational detail behind it.3132## When to use3334- Delegating a headless prompt to a non-Claude model for a second opinion, challenger35 review, design ratification, or research — the `agy -p "..."` pattern.36- Authoring skills/agents that shell out to `agy`.37- Managing agy plugins, sessions, sandbox, or auth.38- Any skill needing a non-Claude second opinion — route it through39 `agy -p` now.4041## The headless orchestration pattern (primary use)4243Two patterns, chosen by whether agy must USE TOOLS (read files, run commands,44search) or only reason over content you pipe in:4546```bash47# Pattern 1 — ADVISORY (default): agy reasons over an inline/self-contained prompt.48# Under --sandbox, headless agy auto-denies EVERY tool, so this prompt MUST NOT49# need to read a file or run a command — give it everything inline.50timeout 600 agy --sandbox -p "<full self-contained prompt>" < /dev/null5152# Pattern 2 — TOOL-CAPABLE (opt-in): agy must read files / run commands / search.53# --dangerously-skip-permissions is the ONLY thing that unlocks headless tool use;54# it still runs INSIDE --sandbox (shell/git stay gated). Verified working 2026-07-17.55timeout 600 agy --sandbox --dangerously-skip-permissions -p "<prompt>" < /dev/null56git -C <repo> status --short # tripwire after any repo-exposed call57```5859- **HEADLESS-TOOL RULE (verified 2026-07-17 on agy 1.1.3; RE-VERIFIED 2026-07-24 on 1.1.660 with `--model gemini-3.6-flash-high` — Pattern 2 read a real file successfully, ~29s).**61 `--sandbox` in headless62 `-p` mode auto-denies **every** tool — not just shell/git but `read_file` too63 ("jetski: no output produced — a tool required the … permission that headless64 mode cannot prompt for"). The `permissions.allow` list in65 `~/.gemini/antigravity-cli/settings.json` is **inert under `--sandbox`** (its66 `action(*)` grants only take effect un-sandboxed, and un-sandboxed `agy -p` is67 blocked by the Claude Code auto-mode classifier). So a Pattern-1 call that needs68 to READ a file silently no-shows — inline everything, or switch to Pattern 2.69 `--dangerously-skip-permissions` overrides the auto-deny while `--sandbox` keeps70 shell/git capped (the S052 commit vector); native `write_file` is the accepted71 residual → keep the `git status --short` tripwire, never `--add-dir` a writable72 repo. Standing config stays TIGHT (`command(agy)`, `command(cpmail)` only) —73 capability is a per-call flag, not a standing broad grant. This SUPERSEDES the74 older "omit `--sandbox` for writes" advice below: never drop `--sandbox`, add the75 skip-permissions flag instead.7677- **FLAG ORDER RULE — every flag BEFORE `-p`** (root-caused 2026-07-02). `-p` is a Go *string*78 flag: it consumes the NEXT token as the prompt, even if that token starts with `-`. So79 `agy -p --sandbox "X"` silently runs with prompt = literal `--sandbox`, sandbox OFF, and80 "X" discarded — agy then improvises from its implicit memory (observed: authored AND executed81 a repo-editing script across two such malformed calls; also the cause of the 2026-07-0182 smart-analyst incident where an "analyst" edited two tracked test files after its brief83 never reached it). It can also fork-bomb: the inner agent re-tests the same broken command84 recursively until timeout. Always `agy --sandbox --add-dir D --print-timeout 15m -p "…"` —85 `-p "<prompt>"` LAST.86- **SANDBOX RULE — `--sandbox` is MANDATORY for consultancy/read-only delegation, but know its87 scope** (#157, S052 rogue auto-commit incident; re-verified 2026-07-02 on 1.0.15). agy has88 write/shell/git tools ON by default, and headless `-p` auto-approves them without89 `--dangerously-skip-permissions` — a plain `agy -p "create a file …"` probe wrote the file.90 `--sandbox` enables bubblewrap *terminal* restrictions: it constrains shell/git commands91 (the S052 rogue-commit class) but does NOT gate agy's native file-write tool — a correctly92 sandboxed call still edited a file in its `--add-dir` workspace on request (verified93 2026-07-02). Therefore: (1) `--sandbox` on every advise-only call; (2) do NOT `--add-dir` a94 writable live repo for consultancy — pipe content (`cat file | agy --sandbox -p "…"`) or95 point at a read-only copy; (3) open consultancy prompts with "Advisory only — do not modify96 any files; answer on stdout" (`~/.gemini/agy.md` also enforces an advise-only default at the97 directive layer); (4) tripwire: after any call that exposed a repo, run `git status --short`98 and revert anything agy touched. **Never omit `--sandbox`** (superseded 2026-07-17 by the99 HEADLESS-TOOL RULE above): when agy must write/run tools, keep `--sandbox` AND add100 `--dangerously-skip-permissions` — that gives tool use with shell/git still capped, which is101 strictly safer than dropping the sandbox.102- **STDIN RULE — `< /dev/null` is MANDATORY for headless calls** (root-caused 2026-06-05, task #135).103 agy reads non-TTY stdin until EOF **before** running the prompt; in background/harness/cron104 shells stdin is an open stream that never EOFs, so agy blocks forever with 0 bytes of output —105 and `--print-timeout` does NOT protect you (it only guards the response-print phase, which is106 never reached). Close stdin (`< /dev/null`) or pipe real input (`cat file | agy -p "..."` —107 the pipe EOFs). ALWAYS also wrap in a shell `timeout`. Prompt SIZE is irrelevant: a 30-char108 prompt hung in the bad context; an 11KB prompt with stdin closed answered in 9 seconds.109 (Discriminating evidence: T1 bare/background = exit 124 @ 0B; T2 identical + `< /dev/null` =110 answer in 5s. Same stdin-until-EOF behavior class as `codex exec`.)111- **Convention: pass no model flag.** As of agy ≥1.0.5 a `--model` flag DOES exist (and an112 `agy models` subcommand lists the choices) — but our convention is to omit it and let agy use113 the Antigravity-account configured model. Do **not** add `--model` unless a call explicitly114 needs a specific model. (There is no short `-m` alias; the gemini `-m gemini-3.1-pro-preview`115 pattern still does NOT apply to agy.) See **Models** below — the account default moved to116 **Gemini 3.6 Flash** on 2026-07-24, so the omit-the-flag convention now gets 3.6 for free.117- `agy` takes **no API-key env prefix** — it authenticates via the Antigravity account118 (`~/.antigravity/`). The gemini `GOOGLE_CLOUD_PROJECT= GEMINI_API_KEY=` prefix does NOT apply to agy.119- Output is **plain text on stdout** — parse text, not JSON. There are no structured120 response fields.121- `--print-timeout` defaults to `5m`; raise it for long deliberations:122 `agy --print-timeout 15m -p "..."`.123- For verdict provenance, append a `served_by` probe line to the prompt — self-reported124 model identity is unreliable. Observed 2026-06-05: the account default served125 `gemini-3.5-flash`. Observed 2026-07-24: the account default serves **Gemini 3.6 Flash**.126 Both are **flash-tier** — weight challenger/analyst verdicts accordingly (advisory tier),127 per the established tier-stratified-verdict practice. Flash-tier is not a limitation to work128 around: **agy is flash-only by standing directive** (see the Models HARD-RULE). If a decision129 needs pro-tier reasoning, escalate to a different arm rather than repointing agy's model.130131## Models (verified 2026-07-24, `agy models` on 1.1.6)132133```134gemini-3.6-flash-{high,medium,low} gemini-3.1-pro-{high,low}135gemini-3.5-flash-{high,medium,low} claude-sonnet-4-6136 claude-opus-4-6-thinking137 gpt-oss-120b-medium138```139140- **Account default = `gemini-3.6-flash`** (verified 2026-07-24 via a `served_by` probe with141 no `--model` flag). The omit-the-flag convention therefore rides the 3.6 line automatically.142- **Effort suffixes** (`-high` / `-medium` / `-low`) are new relative to the 3.5 line and select143 reasoning effort within a model. Measured on this host (Pattern 1, trivial prompt):144 `gemini-3.6-flash-high` ≈ 5s, `gemini-3.6-flash-low` ≈ 5s; Pattern 2 (tool-capable, one145 `read_file`) ≈ 29s on `-high`. Both patterns verified working on 3.6.146<HARD-RULE>147**agy runs GEMINI FLASH MODELS ONLY. No exceptions, no roles, no "utility work" carve-out.**148(User directive, 2026-07-24.)149150| Verdict | Models |151|---|---|152| ✅ ALLOWED | `gemini-3.6-flash-{high,medium,low}` (current line — the account default) |153| ✅ allowed, legacy | `gemini-3.5-flash-{high,medium,low}` |154| ❌ FORBIDDEN | `claude-sonnet-4-6`, `claude-opus-4-6-thinking` |155| ❌ FORBIDDEN | `gpt-oss-120b-medium` |156| ❌ FORBIDDEN | `gemini-3.1-pro-{high,low}` — pro tier is NOT used on agy |157158Two independent reasons, both binding:1591601. **Provider diversity (the `claude-*` / `gpt-oss-*` half).** agy occupies the third-model slot161 precisely because it is *not* Anthropic and *not* OpenAI. A claude-backed "third model" shares162 the Claude arm's blind spots and the cross-check becomes theatre; `gpt-oss-*` collapses into163 the Codex arm the same way. This is a live trap: agy seats in `avengers` already fail over to164 claude hosts when the headless permission auto-deny fires (S062–S067 carry-over), and the165 tempting "fix" for an agy no-show is `--model claude-sonnet-4-6`. That is the WRONG fix — it166 converts a *recorded* provider gap into a *hidden* one.1672. **Flash-only tier discipline (the `gemini-3.1-pro-*` half).** agy is a flash-tier delegate by168 standing directive. Do not reach for pro to "get a better answer" — treat agy verdicts as169 advisory-tier and weight them accordingly. If a decision genuinely needs pro-tier reasoning,170 that is a reason to escalate to a different arm (Claude/Codex), not to repoint agy.171172**Correct responses to an agy no-show or a weak agy answer:** (a) re-apply the STDIN +173FLAG-ORDER + Pattern-2 rules and retry, (b) record the provider gap honestly and proceed short-handed. There is no gemini fallback —174that CLI was retired from this ecosystem 2026-07-25. Never repoint175the model.176</HARD-RULE>177178## Verified flags (from `agy --help`, v1.1.6)179180| Flag | Meaning |181|---|---|182| `-p`, `--print`, `--prompt` | Run a single prompt non-interactively and print the response |183| `--print-timeout <dur>` | Timeout for `-p` wait (default `5m0s`) |184| `-i`, `--prompt-interactive` | Run an initial prompt, then continue interactively |185| `-c`, `--continue` | Continue the most recent conversation |186| `--conversation <id>` | Resume a specific conversation by ID |187| `--add-dir <path>` | Add a directory to the workspace (repeatable) |188| `--model <name>` | Model for the current CLI session (added in 1.0.5; no short `-m` alias). **Convention: omit it** — let agy use the account default (`gemini-3.6-flash` as of 2026-07-24). List choices with `agy models`. If you must pass it, **gemini flash models ONLY** — `claude-*`, `gpt-oss-*`, and `gemini-3.1-pro-*` are all FORBIDDEN on agy (Models HARD-RULE). |189| `--sandbox` | Run with terminal restrictions enabled (bubblewrap on Linux). MANDATORY for consultancy/read-only calls, and MUST come BEFORE `-p` (see FLAG ORDER + SANDBOX RULEs). Scope: constrains shell/git commands only — does NOT gate native file writes (verified 2026-07-02, 1.0.15) |190| `--dangerously-skip-permissions` | Auto-approve all tool permission requests (fully-headless only) |191| `--log-file <path>` | Override the CLI log file path |192193Bare `agy` (no `-p`/`-i`) opens an interactive session.194195## Subcommands (verified)196197| Command | Notes |198|---|---|199| `agy changelog` | Show changelog / release notes |200| `agy help [sub]` | Help for a subcommand |201| `agy install [--dir D] [--skip-aliases] [--skip-path]` | Configure shell PATH + aliases |202| `agy models` | List available models (added in 1.0.5; pairs with the `--model` flag). Verified output on 1.1.6 in **Models** above. Note that most of what it lists is OFF-LIMITS here: agy is **flash-only**, so 3.1-pro, `claude-*`, and `gpt-oss-*` all appear in the listing but must never be selected |203| `agy update` | Update the CLI |204| `agy plugin …` | Plugin management (see below); alias `agy plugins` |205206### Plugins (`agy plugin <cmd>`)207208| Command | Notes |209|---|---|210| `list` | List imported plugins |211| `import [source]` | Import plugins from **gemini or claude** (e.g. `agy plugin import claude`) |212| `install <target>` | Install a plugin (`plugin@marketplace` supported) |213| `uninstall <name>` / `enable <name>` / `disable <name>` | Lifecycle |214| `validate [path]` | Validate a plugin |215| `link <marketplace> <target>` | Generate a link to a marketplace |216217> `agy plugin import claude` can pull Claude plugins into agy — useful for reusing the218> existing skill set rather than re-authoring.219220## Auth / config221222- Authenticates via the Antigravity account; no per-call API-key env var.223- Config lives under `~/.antigravity/` (`argv.json`, `extensions/`) and224 `~/.gemini/antigravity-cli/`. (`argv.json` is JSONC-style — not strict JSON.)225- Binary: `~/.local/bin/agy` (v1.1.6). A separate `antigravity` binary is the IDE; for CLI226 orchestration always use `agy`.227228## Context / instructions files (VERIFIED 2026-06-03, empirical probes)229230`agy` DOES honour markdown instruction files — the contract was confirmed by writing distinct231sentinels and reading them back via `agy -p` from a clean working directory:232233| Path | Scope | Read by agy? |234|---|---|---|235| `~/.gemini/agy.md` | **global** (every invocation, any cwd) | ✅ YES — **the host directive lives here** |236| `~/.gemini/GEMINI.md` | global | ✅ YES — but left **empty** (we use `agy.md`; GEMINI.md is gemini's own file, and gemini retires 2026-06-18) |237| `<cwd>/AGENTS.md` | per-workspace (additive) | ✅ YES |238| `<cwd>/agy.md` | per-workspace (additive) | ✅ YES |239| `~/agy.md` (home root) | — | ❌ NO — not a context path |240| `~/.gemini/antigravity-cli/brain/`, `implicit/*.pb` | agy internal memory | binary protobuf — NOT user-editable |241242- **The host directive is `~/.gemini/agy.md`** (created 2026-06-03; hardened 2026-07-02): establishes243 agy's second-opinion/challenger role, an ADVISE-ONLY default (no file writes / state-changing244 commands / git commits unless the prompt explicitly grants them), plain-text output,245 anti-sycophancy, stay-on-prompt, and the `served_by` probe convention. Every `agy -p` call246 inherits it. It is a behavioural layer only — keep the `--sandbox` flag AND the advise-only247 prompt line on every read-only call: the directive can be ignored, and `--sandbox` covers248 shell/git but not native file writes, so the layers only work together.249- **Identity caveat:** agy keeps its baked-in "pair-programmer" self-concept — asked "what is250 your role," it recites that, NOT the agy.md text. But it *follows specific instructions* placed251 in agy.md (proven: an exact-string instruction round-tripped verbatim). So put behavioural252 rules in agy.md; don't expect it to re-describe its role from the file.253- **Pollution note:** because agy reads `<cwd>/AGENTS.md` + `<cwd>/agy.md`, calling `agy -p` from254 a project root pulls that project's workspace context in as additive context. For a clean255 second opinion, call from a neutral cwd or keep the prompt fully self-contained.256257258## Not verified / do NOT assume259260The following have **no verified `agy` equivalent** — do not assume agy supports them without261checking `agy help`:262263- Policy engine (`--policy` / `--admin-policy`), `--allowed-tools` semantics.264- Hooks, A2A/ACP servers, `--output-format json/stream-json`, settings-schema specifics.265266(The `GEMINI.md` / `AGENTS.md` / `agy.md` context-file contract is now **verified** — see267"Context / instructions files" above.)268269If a workflow needs one of these, probe `agy help` / `agy <sub> --help` and confirm before270documenting it as supported.271272## The Antigravity editor (out of scope — B3 sentinel, Evergreening v1 S041)273274`antigravity` (`/bin/antigravity`, v1.107.0) is the **Antigravity IDE/editor** — a separate275product from this CLI (`agy`). It is **explicitly out of scope** for this skill and for the276evergreening detection bus in v1: we watch the `agy` CLI surface (commands/flags/version via277`verify-agy-install.sh` + the affordance registry), but we do **not** track the editor's278release notes, settings schema, or internal capabilities (IDE release-note monitoring is on279the §3 not-watched list). The editor is mentioned here only so the boundary is explicit: if you280need editor behaviour, that is a separate, unmanaged surface — probe it directly and do not281infer it from `agy`. (Deep IDE semantic analysis is a deferred v1.1 item.)282283<!-- FRESHNESS:v1284anchors:285 - kind: tool_version286 subject: agy287 verified_against: "1.1.6"288 verified_on: "2026-07-24"289-->