
What it is
Headroom puts the remaining headroom on every AI coding subscription you pay for into one macOS menu-bar gauge, reading each provider's *own* quota rather than a gateway estimate or a cost guess.
Providers (all optional, toggle in Settings)
- Claude: api.anthropic.com OAuth usage (5h + weekly windows), reads your Claude Code login
- Codex: ChatGPT backend usage (5h + weekly), reads your Codex login
- MiniMax / GLM / Kimi: coding-plan token windows via a pasted key or a one-time in-app login
The menu bar: the shared chef-hat *is* the gauge. It fills bottom-up and warms olive -> amber -> terracotta -> rust as your tightest meter climbs. Track the tightest meter, up to three specific providers, or hat-only.
How it works: local-first. Claude/Codex read the OAuth token their CLIs already store; web providers run the dashboard's own usage fetch inside a hidden logged-in WKWebView, so the session token never leaves the webview. No telemetry, no cloud, no account. A failed poll keeps the last good reading dimmed rather than flashing to empty.
Architecture: one SwiftPM package, three targets: HeadroomKit (headless, testable collectors), a `headroom` CLI (`usage`, `doctor`), and the SwiftUI MenuBarExtra app. Each provider is one collector conforming to a shared schema.
Connected work