AI Meter exists because the usage I care about does not live in one place. Cursor, Claude Code, and Codex each have their own pools, windows, and spend. Opening three dashboards to answer a simple question is the problem.
What it is
A macOS menu bar extra and desktop widgets, plus companion iPhone and Apple Watch apps. The Mac app has no Dock icon by default. You sign in with the sessions already on the machine, and the menu bar keeps a live snapshot.
The public README, checked 2 Oct 2026, documents v1.0.11. Mac builds are signed, notarized, and shipped through GitHub Releases. Updates go through Sparkle, and the update archive is verified before it installs. iPhone and Watch builds stay on TestFlight. I am not describing the iOS app as a public App Store release.
There is also a Cursor and VS Code extension, installed separately, that puts Cursor usage in the editor status bar. It does not include Claude or Codex.
Why local sessions
The products already keep credentials on the Mac. AI Meter uses those sessions: a Cursor web session or the IDE’s local token, Claude Code’s keychain or credentials file, Codex’s local auth file. Tokens stay in the device Keychain. You can keep more than one account and show them active, combined, or separate.
The Watch receives a sanitized snapshot. No tokens. The app does not scrape dashboards.
The tradeoff
The Mac app is not App Sandboxed. A sandbox would block reading local Cursor, Claude, and Codex sessions. That is also why it is not on the Mac App Store. The missing sandbox is the cost of the feature, not an oversight I am papering over.
Shared logic lives in a Swift package so the Mac, iPhone, and Watch are not three copies of the same rules.
What it will not pretend
AI Meter is an independent project. It is not affiliated with, endorsed by, or sponsored by Anysphere, Anthropic, or OpenAI. Cursor, Claude, and Codex are trademarks of their owners. ChatGPT chat message caps and Team or Enterprise admin APIs are not implemented.





