What Antigravity CLI sends to your status line

On every refresh, Antigravity CLI (agy) starts the command in statusLine.command, writes one JSON object to its standard input, and shows what the command prints. This page lists the fields that object actually contains, taken from real payloads of agy 1.3.0 to 1.4.0 (the anonymized files in tests/fixtures/), with what each one means and which agy-powerline widget reads it.

How the payload arrives

Fields

Seen in every payload unless the last column says otherwise. Example values are from the fixtures.

FieldTypeExampleWhat it isUsed by
model.idstring"Gemini 3.8 Flash (High)"The model in usemodel (when display_name is missing)
model.display_namestring"Gemini 3.8 Flash (High)"The model's name as agy shows itmodel
model.effortstring"high"Reasoning effort; in 3 of 6 payloads(not shown)
versionstring"1.4.0"Antigravity CLI versionversion
productstring"antigravity"Product name(not shown)
agent_statestring"working"What the agent is doing: idle, working or tool_use seenagentState
plan_tierstring"Google AI Pro"The account's planplan
cwdstring"/home/user/project"Current foldercwd, git
workspace.current_dirstring"/home/user/project"Current folder (same as cwd in every payload seen)cwd (fallback)
workspace.project_dirstring"/home/user/project"The project's root folderproject
context_window.context_window_sizenumber1048576The model's context window, in tokenscontext, contextTokens
context_window.used_percentagenumber11.74Share of the window in use, cached tokens and agy's own prompt includedcontext, contextPct
context_window.remaining_percentagenumber88.26100 minus used_percentage(not shown)
context_window.total_input_tokensnumber123120Input tokens over the sessiontotalTokens
context_window.total_output_tokensnumber355045Output tokens over the sessiontotalTokens
context_window.current_usage.input_tokensnumber5225Uncached input tokens of the latest requestcacheHit
context_window.current_usage.output_tokensnumber100Output tokens of the latest request(not shown)
context_window.current_usage.cache_read_input_tokensnumber113928Input tokens of the latest request served from the prompt cachecacheRead, cacheHit
context_window.current_usage.cache_creation_input_tokensnumber0Tokens written to the prompt cache by the latest requestcacheCreate
exceeds_200k_tokensbooleanfalseWhether the context is past 200K tokenscontext widgets (danger color)
quota.<bucket>.remaining_fractionnumber0.5225974Share of the bucket left, from 0 to 1quota widgets (buckets)
quota.<bucket>.reset_timestring"2026-10-06T22:28:10.000Z"When the bucket resets (ISO 8601, UTC)reset widgets, pace marker
quota.<bucket>.reset_in_secondsnumber7887Seconds until the resetreset widgets, pace marker
quota.<bucket>.disabledbooleantrueThe bucket doesn't apply right now; in 2 of 6 payloadshides the bucket
vcs.typestring"git"The version control systemgit
vcs.branchstring"feature/login-form"Branch name; in 1 of 6 payloadsgit
vcs.dirtybooleantrueUncommitted changes; in 1 of 6 payloadsgit
sandbox.enabledbooleanfalseWhether the sandbox is onsandbox
sandbox.allow_networkbooleantrueWhether the sandbox lets the network through; in 1 of 6sandbox
terminal_widthnumber188Width of agy's window, in columnsrow fitting, flex separators
artifact_countnumber2Number of artifacts; in 2 of 6 payloadsartifacts
subagentsarray[{ "name", "role", "status" }]Subagents of the conversation, finished ones included; in 3 of 6tasks (counts status: "running")
task_countnumber1Background tasks running; in 2 of 6 payloadstasks
cycle_modestring"accept-edits"Approval mode, when not the default; in 2 of 6 payloadsmode
vim.modestring"INSERT"Vim mode, with Vim editing on; in 2 of 6 payloadsmode
conversation_titlestring"hello"The conversation's title, once it has one; in 1 of 6 payloadstitle
session_idstring(an ID)Session ID; in 3 of 6 payloadsnever read
conversation_idstring(an ID)Conversation ID; in 3 of 6 payloadsnever read
transcript_pathstring(a path)Path of the conversation's transcript; in 3 of 6 payloadsnever read
emailstring(an address)The signed-in account's email; in 3 of 6 payloadsnever read

agy-powerline never prints, logs or saves email, session_id or conversation_id, and a payload dump replaces paths and branch names with placeholders (Security).

Quota buckets

quota holds one object per bucket. These are the bucket names seen so far:

BucketWindowWhat it countsWidgets
gemini-5h5 hoursGemini modelsfiveHourBar, fiveHourPct, fiveHourReset
gemini-weekly7 daysGemini modelsweeklyBar, weeklyPct, weeklyReset
gemini-argon-wtu-weekly7 daysGemini 4 Argon on Google AI Pro, which has a weekly quota of its own and no 5-hour window. Sent whatever model is in use; not sent on Ultra, where Argon counts toward the Gemini bucketsargonWeekly, argonReset
3p-5h5 hoursThird-party models (Claude, GPT); can be disabledthirdPartyFiveHour
3p-weekly7 daysThird-party modelsthirdPartyWeekly

The payload doesn't say how long a window is. agy-powerline takes 5 hours and 7 days from the bucket name, and from that and reset_in_seconds works out how far into the window you are: that point is the pace marker. The quota calculator does the same sum in your browser.

Fields you may read about but won't see

Some documentation mentions fields that have never appeared in a payload captured here:

vcs usually holds only type, without the branch or dirty state, which is why agy-powerline reads the branch, dirty state and ahead/behind counts from the .git folder itself.

If your payload has a field this page doesn't list, please open an issue with a capture (below), so the page and the bar can follow.

Capture your own payload

Set AGY_POWERLINE_DEBUG=1 before starting agy, and the next refresh saves the payload to ~/.agy-powerline/last-payload.json. The capture keeps only the fields the bar uses, never writes your email or session and conversation IDs, and replaces paths and the branch name with placeholders, so it is safe to attach to an issue. Details: Capturing the payload.

Replay it, or any of the fixtures, to see the bar it gives:

cat ~/.agy-powerline/last-payload.json | npx agy-powerline render

Next steps