MeterTab reads the logs your AI tools already write and turns them into one reading: how much of your window is gone, how fast it is going, and when it comes back. It is the only usage meter your agents can query mid-run - and the only one that will refuse a tool call on your behalf.
Most meters are green when you are fine. That trains you to ignore them, and it wastes the one signal you actually need. MeterTab is grey when you are fine - so the moment anything is coloured, it is worth looking at. Every state is also a shape and a word, so it survives greyscale, Increase Contrast, and colour blindness.
The window resets before this pace could exhaust it. No action.
The hatched span is the projection at this pace. The tick is where the clock saves you - just.
The panel re-ranks itself: this reading takes the full width and the rest compress away.
Amber and red are the only two hues in the product. Charts get a whisper of colour for identity; nothing else is tinted at all.
MeterTab ships an MCP server inside the app, over stdio: no port, no socket, no key to leak. Point a coding agent at it and it can read your live budget mid-run, then downshift the model or pause before it walks into the wall.
get_budgetHow much of the window is left, right now.
should_continueA yes or no the agent can branch on without parsing anything.
get_service_statusIs it your budget, or is Claude itself degraded?
PreToolUse hookThe only part that enforces: it refuses the held tool call when a ceiling is reached, and keeps refusing while it stands.
› agent: get_budget() ↳ { remaining: 61%, resets_in: "2h14m" } ↳ running claude-opus - plenty of headroom › agent: get_budget() → { remaining: 13% } ↳ ▲ downshifting → claude-haiku to stretch the window › agent: should_continue() → { remaining: 2% } ↳ ● pausing. resuming after reset - task survived › calls failing? agent: get_service_status() ↳ { level: "degraded", component: "Claude Code" } ↳ not your budget - backing off instead of burning it
One dropdown from the menu bar: every provider, both windows, burn rate, and where each number came from. No title bar, no sidebar, no scrolling - 500 pt wide and as tall as it needs to be. The figures are MeterTab’s own sample data, labelled as such in the app itself, because showing you a stranger’s real usage would be its own small dishonesty.
Unretouched · v1.4 · sample data, not real usage
Every row is something the app does today. Nothing here is a roadmap item.
When Claude Code asks whether a tool may run, MeterTab holds the call and asks you - on the Mac, iPhone or Watch, behind Face ID if you want it. Multiple-choice questions get answered from your phone too. Ignore it and the prompt appears in your terminal exactly as it always did, so it can only ever help.
Set ceilings per session, day, week or single request - in tokens, with the API-equivalent shown beside them. When one is reached the hook refuses tool calls and keeps refusing, which is what makes a runaway agent give up. Approving instead grants runway for a stretch of time, not one call.
Which worktrees are busy, the command in flight, how full each context is, and the agent’s own task list. Open a row for the last ten tool calls in full - the thing a truncated log never shows you.
A heatmap shaded by percentile rather than by your biggest day, so one 400M-token Tuesday doesn’t flatten the other eighty-nine into nothing. A day you didn’t work and a day it couldn’t see are drawn differently, and both are named in the legend.
Where the tokens go, by model and provider. On a subscription the dollars are API-equivalent - what the same usage would have cost without your plan - and they are labelled that way everywhere they appear, never as a bill.
MeterTab watches Anthropic’s status page, so “why is this failing?” gets an answer that isn’t always “you’re out of tokens.” Show the indicator during outages only, always, or never. Your agents can ask as well.
Add your own provider key and MeterTab pulls real dollar spend from Anthropic, OpenAI and OpenRouter. That is the one place in the app where a bare dollar figure appears, because it is the one place the money is real.
No backend, no sign-up, no analytics. Keys stay in the Keychain, this-device-only. Your prompts, your code and your file contents never leave the Mac. What your iPhone sees is opt-in, goes to your own iCloud, and is scrubbed of anything shaped like a credential. Data Not Collected.
Anthropic does not publish a token limit, so any tool claiming an exact percentage is either reading your account or guessing. MeterTab does both - and says which, in the same glance as the number. An estimate never wears the confidence of a measurement.
Read directly from your account, seconds ago.
A published figure, such as the weekly reset.
Derived, or learned from your own history.
The span between two exact readings, marked on the bar itself.
Notional value - your tokens priced at pay-as-you-go rates. It is what the plan saved you, not a bill. The qualifier is part of the component, so the figure cannot be rendered, copied or truncated without it.
Money actually billed, pulled from the provider’s own billing API. Bare type, no pill, no “≈” - a different object on the page, so you never have to read a caption to know which of the two you are looking at.
Pro unlocks native iPhone and Watch apps, home-screen and Lock Screen widgets, and a complication with a live reset countdown - all syncing your Mac’s numbers over your own iCloud. The language degrades by dropping layers, never by restyling: the phone keeps the whole gauge, the complication keeps one number and a state.
A tool that tells you what you are spending should not quietly be part of it. The gauge is free forever; everything else is one Universal Purchase.
This category has good free tools in it. Pretending otherwise would be the same dishonesty the app refuses.
The reference CLI - free, MIT, and covering more agent CLIs than we do.
The closest App Store rival. One purchase versus tiers; Claude-only versus nine providers.
Fifteen lines that refuse a tool call when your budget is gone. Free, and tested before publishing.
What Anthropic documents, what it doesn’t, and where your real reset time lives.
It reads the log files your AI CLIs already write on your Mac - Claude Code, Codex, Cursor. You grant a folder once; access is read-only and nothing leaves the device. For exact dollar figures you can optionally add a provider API key, which is stored in the Keychain.
Three ways, best first. Connect your Claude account and the 5-hour and weekly figures are your account’s own numbers. While connected, MeterTab also learns your personal limit by watching how far your usage moves that official percentage - so the gauge stays accurate after you sign out, and on your iPhone and Watch. Prefer not to connect? Type the percentage from Claude’s usage screen in once, or let it learn the first time you hit a limit. If some of your usage happens on claude.ai or another machine, MeterTab says so rather than pretending the number is exact.
Only if you have connected a provider API key - that is metered spend, and it is real. On a Claude subscription the dollars are API-equivalent: your tokens priced at pay-as-you-go rates, i.e. what the same usage would have cost without a plan. They are labelled that way everywhere they appear, and shown against what you actually pay so you can judge whether the plan is worth it.
MeterTab holds no process and cannot kill your agent. What it has is a hook inside the tool-call loop, so it can refuse the call in front of it - and keep refusing every subsequent one while a ceiling stands, which is what makes an agent give up in practice. Approving works the other way: it stands aside for a stretch of time rather than for one call, because agents fire calls seconds apart.
Yes. It checks Anthropic’s public status page every few minutes and can show it in the menu bar during outages only, always, or never. Open incidents and scheduled maintenance appear in the app in Anthropic’s own wording, with a notification when one starts, updates or clears. Your agents can ask too, so they stop retrying a service that is down.
No. There is no MeterTab backend. Keys live in the Keychain, this-device-only. The only thing that syncs to your iPhone and Watch is token counts and percentages, over your private iCloud - never keys, never message content, and scrubbed of anything shaped like a credential.
Yes. One non-consumable in-app purchase, no subscription, and it is a Universal Purchase - buy once and it unlocks on Mac, iPhone and Watch under the same Apple ID. There is a 14-day free trial and no card required to start.
macOS 14 Sonoma or later for the Mac app; iOS 17 and watchOS 10 for the companions. Universal binary, Apple Silicon and Intel. Localised into ten languages.
Free forever for the gauge. $19.99 once for the rest, across all three platforms.