Skip to main content
Usage is the instrument panel. It shows what every provider is consuming right now and how much you have left, with a local spend-and-token analytics panel below the live gauges.
Usage is one of the three tabs on every client. This page describes the Mac app; the same gauges ship on iPhone, Android, the web app, and the Windows and Linux desktop apps, laid out for each screen. See Mobile, Web, and Desktop.

Provider gauge columns

Each enabled provider gets a gauge column in the grid at the top of the tab. Up to five columns share one row; six split three and three, and larger sets keep balancing rather than leaving one card stretched across the dashboard. The grid renders only the providers you’ve turned on in Settings → Providers — if nothing is enabled, the tab shows an “Enable a provider in Settings” card instead. Claude, Codex, Antigravity, Cursor, Grok, Z.ai Coding, and OpenCode on a Go subscription each render a quota column. A column shows: The dial’s label names the window it’s actually measuring, which differs by provider: session for Claude and Codex, 5 hour for OpenCode, billing period for Cursor, weekly limit for Grok. Claude adds a third Fable rail beneath its weekly one.
When a provider has no rolling session window — a weekly-only Codex plan, or Antigravity, which exposes only a weekly figure — the weekly reading is promoted into the main dial and labelled weekly limit, and the empty session rail is dropped. Before 0.74.0 iOS rendered a phantom 5-hour bar stuck at a dead value in that case; it now matches the Mac.
There is no per-card dollar figure. Spend lives in the analytics panel below the gauges and in the OpenCode spend strip — not on the live quota columns.

Honest empty states

The gauges never fabricate a reading. When a window isn’t active or a poll hasn’t landed, you get an em-dash and a reason rather than a misleading 0%:
  • OpenCode renders one of two ways. A Go subscription — which has rolling 5-hour, weekly, and monthly windows — renders as a first-class quota column. Pay-as-you-go OpenCode has no rolling window at all, so it drops to a full-width spend strip below the gauges showing $ today / $ this week and a 7-day spark, labelled PAY-AS-YOU-GO · NO QUOTA. The first time a Go subscription is seen without an imported dashboard login, the column offers a one-tap Connect usage meters instead of a dead bar — OpenCode’s limits live only behind its cookie-authenticated dashboard.
  • Credentials valid but no usage to report — a Z.ai account with no active GLM Coding Plan, for instance — gets an explanation of that specific state, not a reconnect prompt for a connection that’s working fine.

Continuum hosted inference

If you’re on a Continuum plan that includes hosted inference, Continuum gets its own gold gauge column alongside the provider ones: your tier name on the dial, and $X of $Y this week · resets in <time> beneath it. It appears only when the Continuum provider is enabled in Settings, you’re signed in, and you either have a hosted-inclusive plan or actual hosted spend — a free BYOK account has no hosted egress and so gets no hosted meter. See Hosted inference.

Multi-account gauges

When you add a second subscription for a provider in Settings → Providers → Add account, that account folds into the same provider’s card as an account toggle — Default | Personal pills across the top of the card — and switching the pill swaps the meters underneath. A secondary account whose provider has no visible primary card stays a standalone column instead. A secondary account’s usage poll often shares an aggressive per-IP rate limit with the primary, so before its first successful poll the meters show an em-dash plus a reason: rate-limited · retrying, offline · retrying, or re-authenticate. On iPhone, secondary accounts surface as an Other accounts card under the active provider’s hero gauge — one row per account with its session percentage, reset countdown, and a pill bar. See Mobile. Each enabled provider can pin a status-bar gauge that gives a one-glance reading from anywhere on the desktop. It renders the percentage and reset countdown in a 12pt monospaced-digit label with the provider’s logo composited inline:
Weekly-cap providers use the logo as a separator between the session and weekly readings; providers without a weekly window show session only. Where the weekly figure is the only one available, it takes the primary slot rather than rendering an empty session reading. When a window isn’t active yet, the gauge shows an em-dash instead of a misleading “0%”. Cursor and pay-as-you-go OpenCode default their standalone menu-bar gauge off; the others default on. Toggle any provider’s gauge from the Menu bar checkbox on its column.

Compact popover

Click any status-bar gauge to open the dashboard popover — a dark glass panel roughly 388 pt wide that renders dark regardless of your system appearance. It carries a segmented control across the top, one tab per enabled provider, and for the selected provider shows:
  • 5h session and Weekly meters with live percentages and reset times. Claude adds a Fable meter; Cursor shows its split monthly meters; Grok and weekly-only Codex plans show a single weekly rail; OpenCode shows Today and This-week dollar tiles; Continuum shows your tier’s weekly budget.
  • A STALE pill when the reading is a cached or fallback value.
  • A multi-account sub-toggle where a provider has more than one signed-in account.
  • An Open dashboard button in the footer.
The popover reuses one shared window across all status items and re-targets its active tab to whichever provider’s gauge you clicked.

Analytics panel

Below the live gauges, Usage hosts an analytics panel backed by the same local log data as the Analytics feature. It reads usage written by your other CLIs on this Mac, so it sits behind an explicit Grant access tap the first time — macOS prompts once. The live gauges above need no file access and stay visible regardless.
  • Run time by device — billable minutes per execution host, ranked, with an Export CSV action. Appears once at least one host reports run minutes.
  • Spend over time — stacked bar chart broken down by provider, with a per-bar hover breakdown.
  • Spend by repo — which projects are driving cost, stacked by provider.
  • Tokens by model — a flat ranked leaderboard of token volume across all models, dollars aside, so a cheap high-volume model still shows up.
The spend charts share one range selector — Today / 7d / 30d / 90d / All time — and the tokens leaderboard carries its own. These read-only charts mirror the dedicated Analytics page, which adds repo drill-down and pricing detail.

Save Costs

Settings → Save Costs is the other half of the spend story. The gauges above tell you what you burned; this tells you how to burn less. It wires up three opt-in third-party token reducers — installing each one for you and applying it to the sessions it covers — plus a panel that estimates what they saved. Each card shows a live status chip — not installed, installed, running, or a missing-prerequisite error — and an Install button that runs the real install command in an embedded terminal. Headroom needs Python 3.10+; Caveman and Ponytail need Node 18+. Ponytail’s mode applies to the next session with no reinstall; Caveman’s “speak” switch is baked in at install time, so changing it means reinstalling.
Routing Claude or Codex through Headroom means your requests traverse a local proxy. Claude runs on your Max/Pro subscription and Codex’s subscription endpoint differs from api.openai.com, so proxying either can affect auth or billing. Both are off by default and Continuum says so on the row. Caveman and Ponytail carry no billing-rail risk — they only change what the agent writes.
The Savings Analytics card estimates cost and tokens saved over your last 30 days, broken out per tool. It is arithmetic, not measurement: tokens you actually spent × each tool’s published reduction, counting only providers actually being routed through a healthy proxy and only tools actually installed. Treat it as an order of magnitude, not a receipt.

Auto-revive

Auto-revive is the mechanism for keeping a rolling session window warm.
Auto-revive is dormant for every provider. The previous implementation kept the window warm by sending a throwaway model prompt, which consumed quota and created visible junk conversations, so it was switched off. A future provider can only opt back in through a non-generative endpoint. On the Mac the auto-revive card is hidden entirely because no provider supports it; on iPhone the toggle still renders but takes no effect.
  • Auto-revive — how the keep-alive idea works and why it’s currently off.
  • Analytics — full local spend history, repo bucketing, and pricing details.
  • Hosted inference — the Continuum subscription the gold gauge measures.
  • Mobile — the iPhone Usage tab, including the Other accounts card.