# Antigravity cost tracking: agy /usage, credits, session cost

agy /usage shows quota left, /credits the credit balance, and the status line JSON an estimated session cost in USD. What each means, what's missing.

Google Antigravity does not show a bill per session. The `agy` CLI shows how much quota is left (`/usage`), how many AI credits you have (`/credits`), and token counts for the running session. The only dollar figure is an estimated session cost in the JSON the CLI hands to a custom status line. Google calls it "estimates based on list prices, not billed amounts."



The rest of this page covers how Antigravity is priced, what each screen shows, what is missing, and how to keep a running cost visible. Antigravity is Google's IDE, app and `agy` CLI. The CLI [replaced Gemini CLI](/controls/antigravity) in May 2026. Everything here is as of 2026-11-07, from Google's docs.

## How Antigravity is priced

There are two ways to pay, and they work differently.

**A Google AI plan (individuals).** Antigravity's [plans page](https://antigravity.google/docs/plans/) describes three levels:

| Plan | Quota |
|---|---|
| No Pro/Ultra plan | "A meaningful quota, refreshed weekly" and a weekly rate limit |
| Google AI Pro | "A high, generous quota, refreshed every five hours until the weekly limit is reached" |
| Google AI Ultra | "The highest, most generous quota, refreshed every five hours", plus third-party models |

Prices come from Google's [plan changes post](https://antigravity.google/blog/changes-to-antigravity-plans/) of May 19, 2026: Pro is $20 a month, and Ultra comes in a $100 tier with "5X worth of tokens" of the Pro rate limit and a $200 tier with 20X. The same post combined Gemini Flash and Gemini Pro into "a single rate limit, drawn down according to API pricing": a cheaper model stretches the same quota further. Non-Gemini models stay on a separate fixed limit.

Quota is not a prompt count. The plans page says the limits "correlate with the amount of work done by the agent, which can differ from prompt to prompt," and that they "are subject to modification." Google publishes no token numbers for any tier.

**AI credits (overage).** Since May 2026, credits are "used solely as an overage mechanism." Pro and Ultra users can buy credits, and they "are consumed at standard Gemini Enterprise consumption pricing." The plans page does not list credit prices or quantities.

**Google Cloud (organizations).** The [pricing page](https://antigravity.google/pricing/) offers access "via API with consumption-based pricing", Gemini Enterprise Standard and Plus plans "starting at $30 USD per seat per month", and a pay-as-you-go plan with a $0 seat fee. The [enterprise setup](https://antigravity.google/docs/enterprise/) connects Antigravity to a Google Cloud project with an invoiced Cloud Billing account, and billing is by consumption at Agent Platform pricing rather than through a subscription.

**A Gemini API key.** The CLI can skip the Google sign-in and use a key, per the [authentication page](https://antigravity.google/docs/install/):

```json
// ~/.gemini/antigravity-cli/settings.json
{ "modelProvider": "gemini" }
```

```bash
export GEMINI_API_KEY="your-key"
agy
```

Model requests then go directly to the Gemini API, and the header shows "Gemini API key" instead of an email. Setting `GEMINI_API_KEY` alone does nothing, and the CLI does not load `.env` files.

## What agy shows

Three commands, from the [CLI reference](https://antigravity.google/docs/cli/reference/):

```text
/usage    (alias /quota)  Display model quota usage.
/credits                  View remaining G1 credits and purchase links.
/context                  Open the context usage visualization panel.
```

**`/usage`** refreshes your model configuration and quota from the backend and opens a **Models & Quota** panel. Per the [/usage page](https://antigravity.google/docs/cli/commands/usage/), it lists remaining quota for each model group, such as Gemini models and Claude and GPT models, and "the models in a group share a weekly limit and a five-hour limit." It reports quota left, not tokens or dollars.

**`/credits`** opens a panel with your active balance, "a breakdown of credits consumed in the current billing cycle", and links to buy credits or upgrade ([/credits page](https://antigravity.google/docs/cli/commands/credits/)). It is per billing cycle, not per session.

**The built-in status line** shows remaining credits on the right, for example `AI Credits: 42`, and highlights when the balance drops below the warning threshold ([CLI AI credits](https://antigravity.google/docs/cli/credits/)).

**The IDE and app.** The plans page says you "can view baseline quota usage across models on the Settings page."

## The one dollar figure: the status line JSON

Whenever agent state changes, `agy` runs your status line command and pipes the session state to it as JSON. The [status line docs](https://antigravity.google/docs/cli/statusline/) list these fields among others:

```text
cost.total_usd                          estimated spend, including subagents
cost.subagent_usd                       estimated subagent spend
cost.estimated                          flag that the figure is an estimate
context_window.total_input_tokens
context_window.total_output_tokens
context_window.used_percentage
context_window.current_usage            input, output, cache-creation, cache-read tokens
quota.<bucket>.remaining_fraction       for example gemini-weekly
quota.<bucket>.reset_in_seconds
model.id, plan_tier
```

The caveat in Google's words: "These are estimates based on list prices, not billed amounts (omitted until a cost is reported)." On a plan, you are paying a subscription and drawing down quota, so the number is what the same tokens would cost at list price, not a charge.

To keep it on screen, register a command:

```json
// ~/.gemini/antigravity-cli/settings.json
{
  "statusLine": {
    "type": "command",
    "command": "~/.gemini/antigravity-cli/statusline.sh",
    "stack_with_default": true
  }
}
```

`stack_with_default` puts your line under the built-in one, so the credit count stays visible. A minimal script that reads the documented fields:

```bash
#!/bin/sh
# ~/.gemini/antigravity-cli/statusline.sh
jq -r '"est $" + ((.cost.total_usd // 0) | tostring)
      + "  in " + ((.context_window.total_input_tokens // 0) | tostring)
      + "  out " + ((.context_window.total_output_tokens // 0) | tostring)'
```

Make it executable with `chmod +x`. The CLI runs the script at most once every 300 ms, kills runs over 5 seconds, and disables it after 30 failures in a row. `/statusline delete` reverts to the default.

## Where usage lives

- **Settings:** `~/.gemini/antigravity-cli/settings.json` holds `statusLine`, `modelProvider` and `useG1Credits`.
- **Conversations:** saved, since `--conversation` resumes one by ID. The reference does not give the path.
- **Logs:** `--log-file` overrides the log path. The default location is not documented.
- **Quota and credits:** on Google's servers. `/usage` and `/credits` fetch them.
- **Cloud consumption:** on the enterprise route, in the Google Cloud project's billing account.

Google documents no local usage file to parse. To keep a per-session record of the estimate, capture it in the status line script.

## What is missing

- **A billed cost per session.** The only dollar figure is a list-price estimate in a JSON payload you have to wire up.
- **Cost per tool call or per turn.** The payload has session totals only.
- **Token numbers for quota.** Plans are described as "generous" and as multiples of Pro, so you cannot turn remaining quota into dollars.
- **A per-developer team view.** The docs describe Cloud billing and spend caps for organizations, but no per-user report for `agy` sessions.
- **History.** Nothing keeps yesterday's totals unless your script writes them down.

## How to put a ceiling on it

On a plan, the quota is the ceiling. The setting that decides whether overage costs money is `useG1Credits`, off by default and not shown for business accounts ([settings](https://antigravity.google/docs/settings/)):

```json
{ "useG1Credits": false }
```

Off, the CLI stops at the plan quota and you wait for the refresh. On, it spends your AI credits after the quota runs out. The plans page describes the same choice as the **AI Credit Overages** setting: **Never** waits for the refresh, **Always** uses credits and goes back to baseline once quota refreshes. For organizations, the pricing page lists spend caps across API and subscription plans under the Google Cloud route.

## What these numbers leave out

Every number above is about model usage. None of it says what the agent did: which commands ran, which files changed, what was denied. Antigravity's hooks see those tool calls. ACP uses them to record each `agy` tool call and check it. If someone launches `agy` with `--dangerously-skip-permissions`, Antigravity drops its hooks, ACP's included, and nothing is recorded for that run. The [Antigravity controls page](/controls/antigravity) has the detail, and so do the [permissions reference](/blog/antigravity-permissions-reference) and the [full-permissions guide](/blog/antigravity-full-permissions). The install box below sets up the recording in one line.

## Frequently asked questions



## Where to read more

- [Antigravity plans](https://antigravity.google/docs/plans/): quota tiers, AI credits, overage
- [Changes to Antigravity plans](https://antigravity.google/blog/changes-to-antigravity-plans/): prices and the shared Gemini rate limit
- [/usage command](https://antigravity.google/docs/cli/commands/usage/) and [/credits command](https://antigravity.google/docs/cli/commands/credits/)
- [Status line customization](https://antigravity.google/docs/cli/statusline/): the `cost`, `context_window` and `quota` fields
- [Authenticate](https://antigravity.google/docs/install/): Gemini API key and Google Cloud credentials
- [Antigravity permissions reference](/blog/antigravity-permissions-reference): allow, ask and deny rules for `agy`
