feat(agents): add Antigravity CLI (agy) as built-in agent#155
Conversation
Google is migrating Gemini CLI to Antigravity CLI (agy); Gemini CLI stops serving Pro/free users on 2026-06-18. Add agy as a first-class agent so users have a migration path, without removing Gemini CLI. - Register antigravity in DEFAULT_AGENTS: interactive launch, resume -c, skip-permissions --dangerously-skip-permissions, 1s prompt-ready delay - Exclude agy from both --mcp-config emission paths (legacyMcpConfigArgs, buildMcpLaunchArgs); agy has no such flag. Consequence: no coordinator MCP wiring for agy (no in-agy subagent spawning) — intentional, deferrable - Docker: mount ~/.gemini/antigravity-cli (settings/plugins); install agy in the bundled image via the official installer (--dir /usr/local/bin) - Antigravity is native-only: login is keyring-only OAuth, unreachable from a container, and agy has no API-key env fallback. Documented in README + spec - gitignore /data/ (memory/sidecar runtime state, not source) - OpenSpec change add-antigravity-agent (proposal/design/spec/tasks) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thank you ver ymuch for this @ASRagab <3! Multi-agent reviewReviewed by parallel Claude reviewers across correctness, security, architecture, alternatives, performance, and simplicity. The headline finding below was traced end to end through the PR-head code (including the backend Verdict: NEEDS CHANGES (minor). Strong PR overall: faithful data-driven pattern, honest spec/docs (pending manual smoke tests correctly left unchecked), good coverage on both MCP-arg paths, accurate Address or accept:
|
Add Antigravity CLI (
agy) supportFixes #152
Google is migrating Gemini CLI to the new Antigravity CLI (
agy). On June 18, 2026 Gemini CLI stops serving Google AI Pro/Ultra and free Code Assist users; it remains only on paid/enterprise API keys. This adds Antigravity as a first-class agent so users have a working migration path — without removing Gemini CLI, which paid/enterprise users still rely on. Fully additive, no breaking change.What changed
antigravityentry inDEFAULT_AGENTS(electron/ipc/agents.ts):command: agy, resume-c, skip-permissions--dangerously-skip-permissions,prompt_ready_delay_ms: 1000. Launched interactively like every other agent (prompt typed into the TUI, not passed as-p).~/.gemini/antigravity-cliadded to the shared-auth mount map (AGENT_CONFIG_DIRS) for settings/plugins;agyinstalled in the bundled image via the official installer (Go binary, not npm). See the auth note below — Antigravity is native-only.agyexcluded from both--mcp-configemission paths (legacyMcpConfigArgsinsrc/lib/agent-args.tsandbuildMcpLaunchArgsinelectron/mcp/agent-args.ts), the same way Codex is excluded.agyhas no--mcp-configflag; passing it would break launch. Scope consequence (intentional): becausebuildMcpLaunchArgsreturns nothing foragy, Antigravity tasks get no parallel-code MCP coordinator wiring — i.e. no spawning of parallel-code subagents from inside anagysession. Safe default for this change; wiring agy into the coordinator (it configures MCP via plugins/config, not a CLI flag) is a follow-up if wanted.agyhas no API-key environment fallback (an earlierANTIGRAVITY_API_KEYassumption was unverified and is false —agystill enters OAuth with it set). Run Antigravity as a native task.agybinary and~/.gemini/antigravity-cli(settings/plugins) is mounted when "Share agent auth" is enabled, so a future file-based / API-key auth path drops in cleanly.Corrections from Codex review
agywrites app data to~/.gemini/antigravity-cli, not~/.config/antigravity(verified against the installed binary).ANTIGRAVITY_API_KEYDocker auth claim (binary does not consume it).data/runtime state (memory/sidecarstate_store.db/stream_store) gitignored — it is generated local state, not source.Verification
tsc --noEmitclean; full test suite green (111 tests across persistence, agents, both agent-args, pty).pty.test.tsconfig-dir-mount table extended with the correctedagypath.--mcp-configis emitted foragyon both arg paths.-cresume, skip-permissions) and a fulldocker buildare pending hardware/Docker.🤖 Generated with Claude Code