Check Usage
Check Usage answers one question: how much of each provider's plan is left, and when does it refill. It has one tab per provider, with meters for the limits, their reset times, and folded detail underneath. Use it before you start a long job, or to see why a turn was refused. It is not the same as the 🧠 button, which shows how full one conversation's context window is. See Context window.
Opening it #
Open the ⋯ menu of the conversation header and choose 📊 Check Usage.
The entry is there with or without a conversation open. It is not in a shared
read-only view. The dialog is titled Plan usage. Its subtitle counts the
providers that report meters and the next reset, for example 3 providers reporting · next reset in 2 h 10 min.
The tabs, in this order:
| Tab | Shown |
|---|---|
| Copilot | Always |
| Claude | Always |
| Claude Cloud | Only while Claude Cloud is switched on |
| Claude API | Added in 0.9.18 While a Claude API key is saved, also with Claude API switched off |
| Cursor | Always |
| Grok | Only while Grok is switched on |
| DeepSeek | Added in 0.9.17 Only while DeepSeek is switched on |
The dialog opens on the tab of the conversation you are in. A Claude Cloud chat opens on Claude Cloud, a Claude API chat on Claude API. It opens on the first tab, Copilot, when no conversation is open, or when the conversation's provider has no tab: an OpenAI chat with your own key, an image chat, or a Claude Cloud chat while Claude Cloud is off. See OpenAI.
Reading a card #
Each card has a title, badges, meters, and folded sections with detail. A
meter is a bar with a percent, a line such as 120 of 1500 used · 1380 left,
and a reset countdown (resets in 3 d 4 h, or a date when it is more than 14
days away). A credit that ends for good reads expires instead of resets.
The bar is green below 50 percent, changes colour at 50 and at 75 percent, and
turns red at 90. A meter
that is an estimate carries a small estimated flag. A limit that is close
carries the provider's own warning word. The card ends with an
Updated <date> <time> UTC line and links to the provider's own usage or
billing page.
The badges say what the card is:
| Badge | Meaning |
|---|---|
| The plan name | The plan the provider reports. On Cursor without live bars it reads Manual allowance. |
| Live | Read from the provider's account |
| Cached | The reading of an earlier turn is shown again |
| From last turn | The numbers were written by the last turn of this provider |
| Estimated | Worked out by OAR, against figures you entered |
| Partial, Unavailable, Not configured, Error | Some or none of the card could be filled; the line under the title says why |
The Updated time is the time of the reading the meters come from, with two exceptions: on Cursor it is the last turn OAR booked, and on Grok the last turn it recorded, even when live bars are shown. A card with nothing to report has no time.
Refresh and how fresh the numbers are #
The dialog does not wait for every provider. It shows the reading it showed
last time at once (your browser keeps it until you close the browser tab) and
reads only the open tab's provider live. The card says updating… next to
its title until the answer is in. A provider the relay has no earlier answer
for is read once as well.
- Refresh at the top reads the open tab live. It refreshes nothing else.
- Switching to another tab reads that provider live if its reading is more than a minute old.
- The tabs you did not open show the relay's last live answer for that provider, so a card is not empty only because you have not looked at it yet.
When a live read fails, the card falls back to what it has, where there is something:
- Claude: the reading of the last Claude turn, with
Live account usage could not be read, so this is the reading of the last Claude turn.and the reason. The read gives up after 3 seconds. - Copilot without billing detail:
Detailed billing data unavailableand the reason, with the meters kept. If the quota itself cannot be read, the card shows an Error with the reason, and no earlier quota. - Claude Cloud, Cursor, Grok: the spend OAR has counted itself.
- DeepSeek: the last balance that was read, with its time, and the spend OAR has counted itself.
A card with nothing to show says why in the line under its title and gets an Error, Unavailable or Not configured badge.
By provider #
GitHub Copilot #
The card reads your Copilot account's quota on both engines. It uses
GH_ or GITHUB_ from the relay's environment when one is set, and
otherwise the login of gh on the relay's machine. Its badges are the plan
name as GitHub reports it and Live. It is read live whenever the tab is
refreshed, so it never carries Cached.
| Meter | What it is |
|---|---|
| AI credits or Premium requests | The metered quota of your plan. The label follows what GitHub meters for the plan. |
| Plan quota | The plan's own allowance, in the same unit |
| Chat & completions | A smaller meter. Included with your plan when it is unlimited. |
Each meter shows used, allowance, what is left and the reset date. GitHub reports a calendar day, and OAR counts it from midnight UTC.
Folded sections add:
- Billed usage this period, By model and By product: what the
period cost, in dollars. They appear only when your GitHub token may read
personal billing; a plain
ghtoken often may not, and the meters are complete without them. - Last SDK worker turn, on the SDK engine: the AI credits that one turn spent, its input, output and context tokens, model calls and overage, with the model and how long ago it was captured. It is one turn's numbers, not a running total, and it disappears after seven days.
The line under each Copilot reply (+N credits, month N% left) belongs to
that one turn; the card is the account's current state. See
GitHub Copilot.
Claude #
The Claude card shows the limits of your Claude subscription as meters:
| Meter | What it is |
|---|---|
| Current session (5 h) | The 5-hour window |
| Weekly limit | The weekly window |
| Weekly Sonnet, Weekly Opus, Weekly (OAuth apps), Weekly plus a model or product name | The per-model and per-product weekly windows, when your plan has them |
| Extra usage credits | Spend on extra usage against its monthly limit, or Extra usage is disabled for this account |
Each window shows its utilization and when it resets. Under its title the card names the signed-in Claude account (see what the dialog shows about you). Folded sections show Latest session totals (cost, API and wall-clock time, lines changed), By model (session) with tokens, and What is driving usage for the last 24 hours and 7 days. The last one is approximate: it is counted from transcripts on the relay's machine only.
There are two sources, and the badge says which one you see:
- Last turn. Without Claude Cloud, the numbers are read from the live session at the end of a Claude turn. The relay never starts a hidden turn to refresh them, so the reading is as old as your last Claude turn, and the badge reads Cached. Before the first turn, the card says that no usage was captured yet. A session that signs in with an API key or a third-party provider has no plan limits, and only shows its session cost.
- Live Added in 0.9.7. With Claude Cloud switched on, the limits are read from the account when the dialog reads the Claude or Claude Cloud tab (kept for a minute), with no turn involved. The card gets a Live badge, the provider's warning word on a limit that is getting close, This week by product (Claude Code, chats and the other products as shares of the week) and the organization's Prepaid credits when there are any. Limit resets (full and 5-hour) are shown on claude.ai only; the card links there.
A turn that hits a limit is paused and carries on after the reset. See When a usage limit is reached.
Claude Cloud #
The Claude Cloud tab appears only while the Enable Claude Cloud for New Chat switch is on under Settings → Providers → Claude Cloud. The switch is also what allows the relay to read the account's figures with the Claude CLI's login. See Claude Cloud.
The card has:
- a meter per dollar credit the account holds: used, left, and when it expires;
- Cloud spend (OAR sessions): the cost Anthropic reports per cloud session, added up over the cloud conversations this relay still has. When you open the dialog from a cloud chat, the folded section also shows that chat's own cost;
- Latest cloud session report: its reported cost and times, and By model (latest cloud session report) with tokens.
These are Anthropic's reported costs, not a billing statement, and sessions
started elsewhere are not counted. A credit that is offered but not claimed
yet is mentioned with a link to claude.ai. Cloud turns spend the cloud credit
first; without one they count against the Claude limits on the Claude tab. If
the account cannot be read, the card says The account usage could not be read, so a cloud credit is not shown. and keeps the spend it knows.
Claude API Added in 0.9.18 #
The Claude API tab is there while a key is saved in Settings → Providers
→ Claude API, also with Claude API
switched off, so the month's spend stays in view. Its card is about money: what
this relay's turns on the key are estimated to have cost today and this month,
per model, with their tokens, and a Monthly cap bar when a cap is set. The
figures are Claude Code's own estimate from its price table; the Console's
billing page, linked from the card with Console billing, has the real ones
and the balance. A model Claude Code has no price for shows no price known,
never $0. The badge reads From last turn.
Everything on the card is explained on Claude API, with the monthly cap.
Cursor #
Cursor does not tell OAR what your plan includes, so the card has two
sources and says which one it used. Settings, pools and the token are
described on Cursor. While Cursor is off, the
card reads Cursor is not enabled in provider settings.
- Spend from OAR, an estimate. After each turn OAR books the agent's billed spend to the current billing cycle, in the Cursor Models or Other Models pool by the model that ran it. A third, Unclassified, appears only when there is spend OAR cannot attribute. Against the monthly allowance you entered for a pool, the meter shows used and left; without one it shows spend only. The meters measure the raw model cost; the folded sections list what Cursor actually charged, which is often $0.00 for plan-included use. The badges read Manual allowance and Estimated, and the card links to Cursor's Spending dashboard, which is authoritative.
- Live plan bars, from the dashboard. With a dashboard session token, the card adds Plan usage (total), Auto + Composer and API bars read live from Cursor, a plan badge with the plan name, a Plan (live) section with included and on-demand spend, and the cycle's real dates. The badge becomes Live and the pool meters step back to secondary. If Cursor rejects the token, or none is found, the card says so and falls back to the estimates.
Grok #
The Grok tab appears only while Grok is switched on. Settings are on Grok.
- Weekly plan usage is a live percentage with the reset time, read with the Grok CLI's login on the relay's machine, with each product's share when the account reports it. A plan with another period reads Plan usage and the period. Without a CLI login, or when the account reports no such figure, the bar is missing.
- Estimated monthly spend appears when you enter a Monthly allowance (USD) under Settings → Providers → Grok. It compares OAR's own tally of Grok turns with your budget, and is marked as an estimate. Grok reports no dollar balance. The badge reads Estimated when no live figure is shown.
- Latest turn and By model (last turn) come from the agent's report of its last turn: cost (an estimate), model, tokens and API time. Current cycle (local) sums the Grok turns of this relay since the billing reset.
With neither a live figure nor a turn yet, the card says that no Grok usage was captured.
DeepSeek #
Added in 0.9.17 The DeepSeek tab appears only while DeepSeek is switched on. Its card is about money, not limits. It shows the account's balance, read with the saved key, and what the DeepSeek turns on this relay have cost, which OAR estimates from DeepSeek's published prices. Turns made with the same key elsewhere are not counted. The card draws a balance bar, the daily spend of the last 30 days, where the money goes per model, and a monthly budget bar when you set a budget. It links to DeepSeek's usage page and to its top-up page. On the days of a usage export you import on the DeepSeek settings tab, it shows DeepSeek's own figures instead of the estimate; see Import usage export.
Everything on the card is explained on DeepSeek, with the monthly budget, the starting balance, and how the estimate is made and what it leaves out.
OpenAI with your own key #
OpenAI with your own key has no tab: OAR does not meter it, and the provider's own dashboard shows your spend. From an OpenAI chat, Check Usage opens on the first tab, Copilot, and you can switch to any other. OpenAI turns have no usage line under the reply either. See OpenAI.
Summary #
| Provider | Numbers come from | Needs extra setup |
|---|---|---|
| GitHub Copilot | Live quota of the account; the last SDK turn as a detail | A GitHub login (gh) or GH_ / GITHUB_; a token that may read billing for the billed-usage sections |
| Claude | The last Claude turn; live from the account with Claude Cloud on | The Claude Cloud switch, for live limits |
| Claude Cloud | Live account credit; Anthropic's reported cost for cloud chats | The Claude Cloud switch |
| Claude API | Claude Code's estimate of this relay's turns on the key | The API key; a monthly cap on the Claude API tab, if you want that bar |
| Cursor | Estimate from OAR's own tally, against your allowances; live bars with a dashboard token | The pool allowances, and a token on hosts without the Cursor app |
| Grok | Live weekly plan usage when the account reports it; last turn; an estimate against your budget | The Grok CLI login, and a monthly allowance for the estimate |
| DeepSeek | The live account balance; an estimate of this relay's DeepSeek spend from DeepSeek's prices, or DeepSeek's own figures on the days of an imported usage export | The API key; a monthly budget and a starting balance on the DeepSeek tab, if you want those bars |
| OpenAI (own key) | None | No tab |
What the dialog shows about you #
The dialog can be on screen while you share your screen, so this is the full list of what it shows about you.
The Claude card prints your e-mail address
Under its title the Claude card shows the e-mail address and plan of the
Claude login on the relay's machine, for example you@example., or
Not logged in. It appears when the Claude card is read, so it is on screen
whenever that tab is open. Close the dialog or switch to another tab before
you share your screen.
- Plan names. Each card's badge shows the plan the provider reports, such as the GitHub Copilot, Claude or Cursor plan.
- Spend and usage. Dollar amounts, credits, percentages, model names, token counts, on Claude Cloud this chat's cost, and on DeepSeek the account's balance. The Claude API card shows no balance. Claude's prepaid credits are the organization's.
- Nothing else. No card shows an API key, a login token or a session token, and no card shows a GitHub or xAI account name. The Cursor dashboard token and the Claude CLI's login stay on the relay.
Every figure is for the account the relay uses. The estimates count only turns that ran on this relay; the live bars are the account's.
What agents see #
An agent can read the same figures with the usage action of
relay_, on its own
relay or a paired one: per provider its status, plan name, meters (used,
allowance, remaining, utilization, reset time), the card's message and notes,
the rows of the folded sections, and whether a Claude usage limit has paused
turns there. It asks for every provider live, so it can take a few seconds.
The agent gets less than you do. It sees no account name, no e-mail address
and no links, so the Claude account line never reaches it, and a text that
holds an address or a long token-like string has it replaced by [address]
or [hidden]. Providers that are not set up come back with that status. Each
text is cut at 300 characters, and the reply holds at most 12 providers, 12
meters per provider and 8 detail sections.