Trace Google Antigravity CLI and IDE turns, model calls, and tool invocations in Phoenix for full observability.Google Antigravity is Google’s agentic development platform. The coding-harness-tracing toolkit instruments Antigravity hook events and streams OpenInference spans to Phoenix. Each user turn becomes one trace. No application code changes required. This harness is transcript-driven. Antigravity’s hooks are control-plane triggers that carry only pointers (
transcriptPath, conversationId, workspacePaths), while the real model and tool content lives in the per-turn transcript_full.jsonl the agent writes. The Stop hook parses that transcript and reconstructs the spans.
Launch Phoenix
The fastest way to get started with Phoenix is by signing up for a free Phoenix Cloud account. If you prefer, you can also run Phoenix in a notebook, self-host it, or use it directly from your terminal. Go to the settings page in your Phoenix instance to find your endpoint and API key. A self-hosted Phoenix defaults tohttp://localhost:6006; the API key is only required when auth is enabled.
Install
The curl installer is the simplest — it runs a short wizard that saves your Phoenix credentials for you. Use a local clone if you’d rather run the installer from a checkout of the source.Curl installer (recommended)
macOS / Linux:Local clone
~/.arize/harness/config.json and registers hooks under the top-level arize-tracing key in ~/.gemini/config/hooks.json, Antigravity’s global hooks file.
~/.gemini/config/hooks.json is Antigravity’s hooks file and is distinct from the Gemini CLI’s ~/.gemini/settings.json. The two harnesses are separate, so installing one does not affect the other. For the Gemini CLI, see Gemini CLI.Configuration
Credentials live in~/.arize/harness/config.json. Environment variables override values in config.json and can be set in your shell profile so they apply to every Antigravity session.
PHOENIX_PROJECT (or PHOENIX_PROJECT_NAME); ARIZE_PROJECT_NAME is ignored here. ARIZE_TRACE_ENABLED is a backend-agnostic harness setting and keeps the ARIZE_ prefix regardless of destination.
Redaction controls
EachARIZE_LOG_* flag accepts "true" or "false" and defaults to "true". Set to "false" to opt out per category:
Default settings
Observe
Once tracing is enabled, Antigravity activity is streamed to Phoenix. You’ll see:- Turn traces — one
Turnchain span per user turn, as the trace root - LLM spans — named
LLM: {model}, one per model call in the turn - Tool spans — one tool span per tool invocation, carrying
tool.name - Session grouping — turns from the same conversation grouped by
session.id
Hooks captured
Each hook has a 30-second timeout. See
HOOK_TIMEOUT_SECONDS in the harness’s constants.py if you need to adjust it.
Limitations
Token counts are not captured. Antigravity does not expose per-turn token usage on any local surface, neither the hook payload nor the transcript. Rather than report zeros,llm.token_count.* attributes are intentionally left off Antigravity spans.
Reference
For the full list of environment variables, default file paths, and troubleshooting steps, see the Antigravity tracing README. Errors always land in~/.arize/harness/logs/antigravity.log. Set export ARIZE_VERBOSE=true before launching Antigravity to also log routine hook activity.

