AI Token Usage Monitors for macOS

A practical look at menu bar apps that show how much quota you have left, what they actually read from your machine, and which one fits whom.

Let me explain why I started looking for a token usage monitor in the first place. When I’m working on something, I usually go all in on the topic. A fragile mental web tends to form in my head from bits of various information: the task itself, chunks of code, overlapping ideas from a pile of open tabs, documentation, saved articles, answers from different LLMs, and so on. And then, right in the middle of all this, usually at the worst possible moment, your main LLM tells you your quota is gone.

That’s annoying, because you have to stop or park the work right when your thinking has built up momentum. Sure, your brain is still there and you should use it. But AI is a convenient and powerful tool, especially once you’ve figured out how to use it. So when it suddenly “shuts off” mid-process, it throws you off your rhythm.

To avoid this, you need to track your quota and how much of it you’ve used. Every LLM lets you do that with varying degrees of convenience. Claude Code has the /usage command, the desktop apps have a status icon, Cursor has its own dashboard, and so on. The numbers are there. The problem is different: you don’t see them. And until the “quota’s gone” moment, I usually don’t even remember I have one.

The second issue tied to quotas is less serious, but still irritating. You usually break a big task into a few smaller ones. Each one doesn’t use that many tokens. But before starting the next sub-task, the question comes up: do I have enough tokens left, or am I going to hit the wall again? To answer that, you have to check manually one more time.

Out of these two situations grew the desire to find something that would show quota usage in plain sight. Without opening anything, without running commands, without switching focus. Just an indicator that’s always visible. On macOS that usually means the menu bar at the top of the screen.

A small menu bar app showing tokens, costs, and reset timers won’t solve the limits themselves. But it removes the uncertainty. You glance at the indicator and you see how much you have left. Then you decide whether to start that heavy task right now or wait twenty minutes. That alone is worth a few seconds of installation.

In this article I compare the menu bar monitors I consider actually useful on macOS, what they read from your machine, and which scenario each one fits best.

This part matters more than it looks, because it explains why and which permissions an app asks for, and how much you can trust the numbers.

Most of these monitors don’t hit provider APIs directly. They read what your local AI tools have already written to disk. For example, Claude Code writes JSONL logs to ~/.claude/projects/. Codex CLI writes similar files. The app parses them, multiplies by current model pricing, and shows the result. This is fast and accurate for past usage. It works offline if prices are cached.

For services that don’t write logs locally (Claude in the browser, Cursor’s web dashboard, Copilot quota), the apps either read browser cookies to hit the provider’s internal endpoints, or use OAuth tokens from macOS Keychain. That’s where the Full Disk Access requests and Keychain dialogs come from. Nothing scary about it, but it’s useful to understand why the app is asking.

The third pattern is aggregation by API key, used for providers like OpenRouter, DeepSeek or Mistral: you paste in your key once, and the app sums up usage from request metadata.

Free, open source, by Peter Steinberger (founder of PSPDFKit and developer of OpenClaw). Supports 40+ AI coding providers including Codex, Claude, Cursor, Gemini, Copilot and Grok, with separate session, weekly and monthly windows for each. The menu bar icon uses a two-bar design: the top one shows the 5-hour session window, the bottom one shows the weekly quota. The result is visually clean and readable at a glance.

CodexBar doesn’t poke around the file system and doesn’t ask for Screen Recording, Accessibility or Automation permissions, though it may ask for Full Disk Access if you use Safari cookies for web providers. It’s signed and notarized, and installs via Homebrew. This is what I’d recommend most developers start with.

It’s my pick today for several reasons. I like the app’s interface, which is pretty thoughtful. Lots of settings, for example, showing either how much you have left or how much you’ve already used. Whichever matters more to you. So you can tune it to your taste and workflow. The project is actively developed and Peter responds to GitHub issues often, and very quickly.

A couple of things I ran into: sometimes the monitor shows that it got rate limited (pulled info too often) and sometimes it lags a bit when Codex is connected. I disabled Codex in the provider list and everything works fine.

A paid alternative for a one-time $2.99. Tracks Claude, Codex, Copilot, Cursor and Gemini with usage, cost and limits live in the macOS menu bar. The main pitch is simplicity: install it and it auto-detects your tools, with no API keys needed for local CLI providers.

In terms of coverage, SessionWatcher is narrower than CodexBar, but very focused. If you want a native, minimalist app and you’re willing to pay three bucks to skip the configuration dance, that’s a reasonable trade.

A FRUSTRATING SUBSCRIPTION CANCELLATION EXPERIENCE

I tried TokenBar while researching this post and had a frustrating time with the cancellation flow. The company behind the app is Aura Technologies. Sharing the details of what I ran into.

How it works. You’re offered a free trial period (their payment page is inconsistent on the length; mine was 3 days), processed through Stripe. After you confirm, you get a temporary key shown on the app screen rather than sent by email.

To cancel the subscription, you have to find the cancel option inside the app. It’s labelled “Manage” in the Billing section, in small text. In my case, clicking it did not work, so I was unable to cancel from my side.

What else I tried:

  • Via Stripe. Official answer: only the merchant can cancel the subscription.
  • Via bank. They suggested blocking the card and filing a chargeback.
  • Via email. I contacted their support and we corresponded about the issue.

If you ever find yourself in a similar situation: block the card and file a chargeback with your bank. I reached the company directly and the matter has been resolved. The subscription was cancelled and the charge was refunded (per their email).

UsageScope is available in the Mac App Store for a one-time $1.99, requires macOS 13.5+, and is local-first by default. Supports Claude, ChatGPT and Gemini with 5-hour and weekly limits, auto-syncs tokens from the Claude Code, Codex and Gemini CLIs, and stores tokens in macOS Keychain. App Store distribution is a plus for people who prefer that channel over direct downloads.

A solid middle ground: official distribution, narrower provider list than CodexBar, no setup acrobatics.

Tracks Claude Code, Codex and Kimi Coding from the menu bar, with a 7-day token usage chart, threshold alerts, and a transparent local proxy that catches usage from any client. The local proxy is interesting if you use custom scripts or tools that don’t write standard logs. Most monitors won’t see those; BurnRate does.

This is the right tool if you want pattern analysis over time, not just current numbers.

Free, open source (GPL-3.0), from the onllm.dev team. Architecturally different from the rest of the list: onWatch is a background daemon written in Go that polls providers every 60 seconds and stores snapshots in local SQLite. The dashboard opens at localhost:9211 in your browser, and the menu bar companion for macOS is still in beta. Cross-platform, runs on macOS, Linux, Windows, and in Docker.

Supports eight providers: Anthropic, Codex, GitHub Copilot, Synthetic, Z.ai, MiniMax, Gemini CLI and Antigravity. Nice touches: historical tracking of usage patterns, anomaly detection (for example, when a provider resets limits early), forecast of quota exhaustion before the next reset, and cross-provider comparison of available capacity. Optionally sends email or push notifications when a threshold is hit. Memory usage is advertised at under 60 MB. Zero telemetry, everything local.

Worth a closer look if you’re not just on macOS, or if you want a proper web dashboard with history rather than a single menu bar icon. Also a good option if what you really care about is the “will I have enough quota to make it through the day” forecast, not just the current number.

A menu bar utility with an interesting design and simple setup. The free version of Tokens4Breakfast lets you connect one provider, which is plenty if you’re only on Claude Code or only on ChatGPT, for example. A one-time payment of $7.99 unlocks all 8 providers: Claude Code, Claude Web, OpenAI, Cursor, Copilot, OpenRouter, DeepSeek and Mistral.

A reasonable choice if the free monitors feel bloated and you just want one compact indicator with clear visuals. You can pay later, once you connect a second provider.

Free, open source (MIT), plugin-based. OpenUsage is built on Tauri, React and TypeScript, requires macOS 14+, runs on Apple Silicon and Intel. At the time of writing it supports 15 providers: Amp, Antigravity, Claude, Codex, Copilot, Cursor, Factory/Droid, Gemini, JetBrains AI Assistant, Kiro, Kimi Code, MiniMax, OpenCode Go, Windsurf and Z.ai. Each provider is implemented as a separate plugin, so new ones can be added without updating the whole app. Clearly inspired by CodexBar (the author credits it directly), but with a different architectural approach.

What sets OpenUsage apart from the pack: a local HTTP API on 127.0.0.1:6736. This lets any other program, script or status line read current quota state via curl localhost:6736/v1/usage (or by specific provider, for example /v1/usage/claude).

You don’t need to connect to provider APIs directly, you don’t need to deal with authentication, OpenUsage already gathers everything and serves it in a unified JSON format. Useful if you want to embed usage into your editor’s status line, your own dashboard, or automation scripts. There’s also a global keyboard shortcut to open the panel and support for SOCKS5/HTTP proxies.

The GitHub project is very active: 2.2k stars, 29 contributors at the time of writing, regular releases. One nuance worth keeping in mind: in the README the author openly states that the code is 100% written by AI tools (Cursor, Claude Code, Codex CLI), with not a single line by hand. Some will see that as proof that AI development works, others as a yellow flag on code quality. Check the issues and changelog before relying on it for critical work.

Not a menu bar app, but a fairly well-known CLI utility, and worth a mention because many of the GUI monitors above are essentially wrappers around the same approach ccusage uses. Runs without installation via bunx ccusage or npx ccusage@latest, analyzing token usage of CLI agents from local data, including Claude Code, Codex, OpenCode, Amp and others.

You get daily, weekly, monthly and session breakdowns in a table right in your terminal. Paired with a customizable status line in Claude Code, you can show live numbers inside Claude Code itself by setting the statusLine command in ~/.claude/settings.json.

If you live in the terminal and don’t love the menu bar, this is your option.

ToolPriceOpen sourceBest for
CodexBarFreeYesWidest provider coverage
SessionWatcher$2.99 one-timeNoMinimalism, focused on coding sessions
TokenBarDO NOT USE!NoScammy subscription trap
UsageScope$1.99 one-time, App StoreNoApp Store distribution
BurnRateFreeNoBurn rate analysis, support for custom tools
onWatchFreeYesCross-platform daemon with web dashboard and forecasts
Tokens 4 BreakfastFree for one provider, $7.99 for all 8NoSimple setup, interesting design
OpenUsageFreeYesLocal HTTP API for status line and script integrations
ccusageFreeYesTerminal users, status line integration

Note on the table: pricing pages change. Check the current numbers on the project’s own site before you buy.

First question: are you tracking subscriptions or API usage? Those two cases need slightly different tools.

If you live on Claude Pro, Max, Cursor Pro, Copilot or any other fixed-price plan, the main pain is limits and reset windows. You need a tool that clearly shows session and weekly quotas. CodexBar, SessionWatcher and UsageScope handle this well. For most people I’d suggest starting with CodexBar, because it’s free, open source and covers the most providers without payment.

If you’re mostly on pay-as-you-go API access (OpenAI API, Anthropic API, OpenRouter), what matters is the spend, not the session window. BurnRate is built exactly around that. Tokens 4 Breakfast is another option in this category if you want spend forecasting. onWatch is a fit if you want not just current numbers but a forecast of quota exhaustion before the next reset and anomaly detection for when a provider resets limits early.

If you only use one AI tool and that’s Claude Code, then ccusage in the terminal is probably enough. Paired with the Claude Code status line, you get live numbers without installing anything in the menu bar.

If you’re not exclusively on macOS, the choices narrow quickly: most utilities in this list are Mac only. onWatch stands out here because it runs on Linux, Windows and Docker, with the dashboard opening in a browser.

For people who care about privacy, open source matters, because you can check what the app reads and where it sends things. The strongest candidates here are CodexBar, OpenUsage and onWatch. All three are local-first by default, and onWatch explicitly emphasizes zero telemetry.

Three quick checks save a lot of pain later.

First, look at what permissions the app actually asks for. Full Disk Access is justified for reading browser cookies, but not necessary if you only use CLI providers. Keychain access is expected when the app reads OAuth tokens. But Screen Recording or Accessibility requests should be a red flag for this category, none of the monitors here need them.

Second, check where API keys are stored if the app asks for them. The right answer is macOS Keychain. Storing keys in plaintext in config files isn’t best practice.

Third, look at how the app handles changes on the provider side. Anthropic and OpenAI occasionally change internal endpoints or cookie formats, and any tool that reads dashboards rather than CLI logs will temporarily break at that point. Active projects fix this within a few days. Glance at the last commit date on GitHub before relying on any of them for daily work.

None of these apps will make you spend fewer tokens, and they won’t change provider limits. But they can help remove the surprise factor. So you can plan your effort more effectively and allocate it the right way.

I like CodexBar: free, open source, broad provider coverage, sensible permission model. If you want it through the App Store, then UsageScope. If you’re terminal-only, then ccusage. If you work beyond macOS or need a web dashboard with history and forecasts, onWatch. The rest are good options when your specific needs line up with what they do better than the defaults.

Pick your own. I’m confident that having a monitor like this in place makes the work feel smoother.

Good luck!

🤓