Harness architecture
Antigravity CLI and UHP
Antigravity CLI is Google's terminal-first Antigravity agent surface, sharing the Antigravity 2.0 core agent engine while adding headless automation, subagents, plugins and MCP. Reviewed first-party sources do not establish native UHP, ACP or A2A-protocol adoption, a HarnessRouter backend or UHP conformance evidence.
Status first
Section titled “Status first”Antigravity CLI is a distinct coding-agent harness surface, not a UHP implementation. Google describes the CLI as the terminal-first interface to Antigravity agents. Its README states that the CLI and Antigravity 2.0 share the same core agent engine, while the CLI focuses on keyboard-driven and remote/SSH workflows with multi-step reasoning, multi-file editing, tool calling and persistent history.
The latest stable release observed at this cutoff is 1.1.28, published 9 September 2026 at 00:43:52 UTC. Tag 1.1.28 points to baef32d9f7d91aa5f8f1747b4a8a938723132a19, and checked upstream main is the same commit.
Why Antigravity CLI matters to harness architecture
Section titled “Why Antigravity CLI matters to harness architecture”Antigravity CLI is more than an interactive model shell. Its first-party documentation and changelog expose a complete harness surface around the shared agent engine:
- interactive and headless (
-p) execution; - persistent conversations and resumable history;
- multi-step tool-using turns and multi-file edits;
- custom agents and subagent delegation;
- Agent Skills, rules, plugins and hooks;
- first-party MCP server integration;
- a fine-grained permission engine for files, commands, URLs and tools;
- sandbox controls for supported non-interactive execution;
- structured JSON and streaming-JSON output for automation.
Those are harness/runtime semantics. UHP standardizes a different outer boundary: client → UHP server → configured complete harness. A UHP implementation could theoretically wrap Antigravity CLI, but no reviewed first-party source establishes such an adapter today.
Boundary map
Section titled “Boundary map”| Layer | Primary job | Verified Antigravity CLI relationship |
|---|---|---|
| Antigravity CLI | Terminal/headless agent loop, tools, files, history, model selection and approvals | Native harness surface. |
| Antigravity 2.0 | Rich GUI using the same core agent engine | Shared engine; separate interface. |
| Subagents/custom agents | Delegated agent work and reusable agent definitions | Native harness capability. |
| Plugins / Skills / hooks / rules | Package reusable tools, agents, instructions and policy hooks | Native customization surface. |
| MCP | Tool-server interoperability | First-party supported. Local stdio and remote server configurations are documented. |
| ACP | Editor/client-to-agent protocol | Not established by reviewed first-party sources. |
| A2A protocol | Standard agent-to-agent interoperability | Not established by reviewed first-party sources. |
| UHP | Client → UHP server → complete configured harness | No native adoption established. |
| HarnessRouter | UHP reference implementation → backend adapters | Antigravity CLI is not in the released ten-backend set at this cutoff. |
Headless mode is an automation surface
Section titled “Headless mode is an automation surface”Antigravity CLI documents headless execution with agy -p, including text, JSON and streaming-JSON output. The same surface supports explicit model/effort selection, custom agents, continued conversations, permission controls and sandbox options, making it suitable for scripts and CI rather than only an interactive TUI.
Stable 1.1.28 changes an important automation-finality detail: when --print-timeout expires during a turn, the CLI now returns the partial output collected so far, exits successfully and emits a warning on stderr instead of treating the timeout itself as a failed run. Interrupts such as Ctrl+C remain non-zero exits.
That means downstream automation should not interpret a zero process exit alone as proof that the intended agent turn completed in full; stderr/truncation state remains part of the result boundary. This is Antigravity CLI runtime behavior, not a UHP finality rule.
The same release also improves headless shutdown by waiting for running background tasks and scheduled timers, bounded by --print-timeout, while leaving daemon background processes such as development servers running. Fatal headless errors now use a stable error: stderr marker, and previously silent no-output failures report why they ended.
MCP and customization composition
Section titled “MCP and customization composition”Antigravity’s plugin model can bundle plugin.json, MCP configuration, hooks, skills, custom agents and rules. First-party MCP documentation supports local stdio servers and remote server configurations, with management through the CLI’s MCP surface.
Stable 1.1.28 fixes two composition defects that matter to delegated-agent reliability:
- MCP servers defined by plugins now resolve relative or missing working directories against the plugin’s own directory rather than an unrelated process location;
- subagents no longer race MCP server initialization and fail to discover tools simply because those servers were still starting.
The preceding 1.1.27 line also rejects tool-call arguments that the MCP server’s own schema never declared instead of silently dropping invented parameters. These are useful harness/tool-contract safeguards, but they do not change the MCP protocol specification and do not establish UHP support.
Permissions are part of the harness boundary
Section titled “Permissions are part of the harness boundary”Antigravity CLI documents a fine-grained permission model whose effective order gives deny precedence over ask, and ask over allow. Stable 1.1.28 changes URL fetching from always allowed to ask by default, so external reads require approval unless an applicable grant already exists.
The release also makes approval prompts name the concrete action being approved and can surface a reason when the request was escalated by a hook or because a file belongs to another project. These controls belong to the Antigravity harness/policy layer; UHP does not prescribe Antigravity’s permission syntax or approval UI.
Stable 1.1.28 hardens long-running agent execution
Section titled “Stable 1.1.28 hardens long-running agent execution”The release is material beyond version freshness. Its first-party release notes include:
- longer exponential-backoff retries for transient model API failures such as
503 Unavailable; - headless completion, failure and partial-output semantics described above;
- model-resolution audit logging when a requested model resolves to an alias, effort variant or replacement;
- stricter URL-fetch approval defaults;
- exact replacement of managed plugin directories on reinstall and refusal to reinstall a plugin from its own installed directory;
- corrected plugin-bundled MCP working-directory resolution;
- removal of a subagent/MCP startup race;
- cleanup of subagents that could remain shown as running after completion;
- a memory-leak fix for completed terminal-command state during long sessions;
- automatic progression through implementation-plan review in non-interactive runs where no human could approve it.
These are upstream Antigravity CLI harness/runtime changes. They do not change UHP 2026-08-11, MCP wire semantics, HarnessRouter’s backend set or UHP conformance evidence.
Evidence boundaries
Section titled “Evidence boundaries”- Stable:
1.1.28, published 9 Sep 2026 at 00:43:52 UTC. - Tag target:
baef32d9f7d91aa5f8f1747b4a8a938723132a19. - Checked
main: the samebaef32d9commit at this cutoff. - Shared Antigravity engine: established by the first-party CLI README.
- Headless automation: established by first-party CLI documentation and stable release notes.
- MCP: established by first-party documentation and changelog evidence.
- Subagents / plugins / skills / hooks / rules: established by first-party documentation and changelog evidence.
- ACP: not established by reviewed first-party sources.
- A2A protocol: not established by reviewed first-party sources.
- Native UHP: not established.
- HarnessRouter backend: not present in
v0.15.7’s ten released backends. - UHP conformance evidence: none attributed to Antigravity CLI.
Related pages
Section titled “Related pages”Read Gemini CLI for Google’s separate HarnessRouter-backed CLI, harness composition for delegation topology, remote harness execution for non-local execution boundaries, Skills Over MCP for the emerging skills-distribution standard, UHP vs MCP for the tool-protocol boundary, and ecosystem for adoption classifications.
Primary sources
Section titled “Primary sources”- Antigravity CLI repository
- Antigravity CLI
1.1.28 - Antigravity CLI tag/current-main commit
baef32d9 - Antigravity CLI README
- Antigravity CLI changelog
- Official Antigravity CLI overview
- Official headless-mode documentation
- Official MCP documentation
- Official plugins documentation
- Official permissions documentation
- HarnessRouter
v0.15.7