Token Bar for macOS
Free native macOS 14+ menu-bar app
Your AI token usage, one glance away.
Token Bar totals the token usage already on your Mac from Codex, OpenCode, and Claude Code, and shows it in the menu bar. Read-only file access. No accounts. No usage upload. Every cost figure is an estimate only, never a bill.
OpenAI Codex OpenCodeClaude Code
- DMG checksum (SHA-256)
- ZIP checksum (SHA-256)
- GitHub repository ManuOtel/token-bar
- Release changelog for Token Bar
curl -LO https://github.com/ManuOtel/token-bar/releases/latest/download/TokenBar-latest-macos.dmg
curl -LO https://github.com/ManuOtel/token-bar/releases/latest/download/TokenBar-latest-macos.dmg.sha256
shasum -a 256 -c TokenBar-latest-macos.dmg.sha256
Releases are unsigned and not notarized, so macOS Gatekeeper warns on first launch. That is expected: right-click Open the app once, then launch normally. Each GitHub release also keeps versioned TokenBar-<version>-macos.zip and .dmg assets with checksums.
The actual compact popover, sampled with illustrative figures. Page controls use a static CSS interpretation, not Apple's native Liquid Glass material.
- Local-firstUsage data never leaves the machine.
- No accountsNo sign-in, no provider keys.
- No uploadLocal history, read-only.
- Estimates onlyCosts are approximations, never a bill.
Sources
Three local sources. One total.
-
OpenAI CodexLocal session history, read-only. Per-record counts with file-sequential model attribution; unknown models stay listed under unknown at fallback rates.
-
OpenCodeLocal usage database, read-only. Per-message rows lead; session rollups fill gaps only. A second machine joins as an opt-in token-only snapshot.
-
Claude Code
Local project history, read-only. Cache reads fold into input, matching provider semantics.
Provider logos above are the official marks of OpenAI, OpenCode, and Anthropic, bundled locally and shown only to identify each local source; all marks remain the property of their owners and this page is not affiliated with or endorsed by them (see brand-assets attribution). There is no standalone Codex mark, so the OpenAI mark stands in for OpenAI Codex. Cached counts are a subset of input; reasoning is a subset of output. Neither is ever added on top of the total. Missing sources show an empty total plus a short sanitized notice, never a raw file path.
Readout
Compact first. Details on demand.
Compact popover
The 400pt popover opens compact and scroll-free on the rolling 7D view: hero token total, estimated cost, Source chips (All, Codex, OpenCode, Claude) and Range chips (Today, 24H, 7D, 30D, Best, All), a composition ring, a stacked source bar, and a 14-day mini trend. A Details action and an updated-or-notices footer finish it.
Expanded details
Expands in place: input, output, cached, and reasoning cards, an input-vs-output composition split, always-visible source rows (empty sources read no records), top-5 models, the full 14-day trend, sanitized notices, and OpenCode local-vs-remote sub-lines when both exist. Show less collapses back. The same totals are also available as terminal reports: lifetime, today, rolling windows, best month, and machine-readable JSON.
Pricing, honestly labelled
Every dollar figure is an estimate from a rate table, not a bill. Subscription use is not an API invoice. The built-in static table works fully offline; one strictly opt-in refresh narrows drift for listed models, and refreshed runs name their rate basis. Unknown models never price at zero: they use the fallback rate and stay visible.
Second Mac? Sync is opt-in.
Remote merge ships disabled. Either copy a token-only snapshot over manually (offline, no fetch), or enable auto-pull over your own SSH setup at startup, on an interval, and on Sync Now. No credentials stored, downloads only, each pull validated before replacing the cache, last good cache kept on failure.
Install
Running in two minutes.
- Download and verify. Grab the DMG above; check its SHA-256 with the commands shown. The ZIP pair verifies the same way.
- Move to Applications. Open the DMG and drag TokenBar.app onto Applications. Or unzip the ZIP and drag TokenBar.app to Applications.
- Open once past Gatekeeper. Releases are unsigned and not notarized: right-click Open the app once, then launch normally.
- Read your usage. First launch scans local history only; later launches show the cached report instantly while a background refresh recomputes. Launch-at-login lives behind the Settings gear, off until you enable it.
FAQ
Questions, answered briefly.
What does the free app do?
Token Bar is a free macOS menu-bar app that totals your AI token usage across Codex, OpenCode, and Claude Code, with source and range filters, per-model and daily-trend views, and clearly labelled cost estimates. It is free to download and use, with no sign-in.
Which sources are supported?
Codex, OpenCode, and Claude Code, read from the usage history already on your Mac. A second machine can join the OpenCode total through an opt-in token-only snapshot, either copied manually or pulled over your own SSH setup.
Does my usage leave my Mac?
No. Usage data, prompts, message bodies, paths, and credentials never leave the machine. There are no accounts, no provider integrations, no analytics, and no cookies. The only network uses are strictly opt-in and off by default: a public pricing refresh and the remote snapshot pull.
How do I install it?
Download the DMG, verify its SHA-256 checksum, drag Token Bar to Applications, then right-click Open once past the expected Gatekeeper warning for unsigned builds. It needs macOS 14 (Sonoma) or later.
Privacy
Stays on your Mac.
- Usage data, prompts, message bodies, paths, and credentials never leave the machine.
- No accounts, no provider APIs, no cookies, no analytics on this page and none in the app.
- Only two network uses exist in the app, both strictly opt-in and disabled by default: the public pricing refresh and the remote snapshot pull over your own SSH setup.
Token Bar is open source. Read the code, the release changelog for Token Bar, and the GitHub repository ManuOtel/token-bar. Current page release: v0.6.0.