A tiny native macOS menu-bar app that shows your Claude subscription usage β the same numbers as Claude Code's "Plan usage limits" panel β right in your menu bar.
Why "Cookie Monster"? It started life as Token Monster β it watches Claude gobble through your tokens. "Cookie Monster" just has the better appetite. πͺ
πͺ 27% β your current 5-hour session usage, color-coded
Click it for the full breakdown:
Claude Max
ββββββββββββββββββββββββββββββββββββββββββββ
Session ββββββββββ 27% resets in 3h 24m
Week ββββββββββ 29% resets in 5d 4h
Week Sonnet ββββββββββ 0% resets in 5d 4h
ββββββββββββββββββββββββββββββββββββββββββββ
Updated 12s ago
Refresh Now βR
Open Usage in Browserβ¦
Start at Login β
Quit Cookie Monster βQ
- Grab the latest
Cookie-Monster-x.y.z.dmgfrom the Releases page. - Open the
.dmgand drag Cookie Monster into Applications. - Double-click to open β release builds are signed & notarized by Apple, so there's no Gatekeeper warning.
- macOS will ask to allow keychain access β click Always Allow.
- Enable auto-start from the πͺ menu β Start at Login.
If you have the Xcode Command Line Tools (xcode-select --install), building
locally avoids Gatekeeper entirely:
git clone https://github.com/davidpflugpeil/cookie-monster
cd cookie-monster
./install.sh # builds, installs to ~/Applications, and launches it- Reads your existing Claude Code OAuth token from the login keychain
(
Claude Code-credentials) at runtime. - Polls the (undocumented)
https://api.anthropic.com/api/oauth/usageendpoint every 60 seconds β the same endpoint that powers/usageinside Claude Code β with aclaude-code/<ver>User-Agent and theanthropic-beta: oauth-2025-04-20header. - Shows the 5-hour session window in the bar (green < 50%, orange < 80%, red β₯ 80%), with weekly windows in the dropdown.
It is read-only on your credentials: it never writes to the keychain, never
refreshes or modifies your token, and never logs the token or the raw API
response. A small diagnostic log (status codes + percentages only) is kept at
~/.cookie-monster/cookie-monster.log.
All three are in the πͺ menu and persist across restarts:
- Pin to Menu Bar β choose which window's percentage shows in the bar: Session (default), Week, or Week (model).
- Update Every β how often it polls: 30 seconds, 1 / 2 / 5 / 15 minutes (default 1 minute).
- Menu Bar Style β Default (a monochrome gauge whose needle tracks your usage, in the native menu-bar text color) or Vibrant (the πͺ emoji with a green/orange/red percentage).
./uninstall.shRemoves the app, the login item, and the log directory. Your Claude credentials are left untouched.
- macOS 13+ only, and requires a Claude subscription signed into Claude Code (Pro / Max / Team). It reports whatever account Claude Code is authenticated as.
- Token refresh: if the menu bar shows
πͺ β(red), your OAuth token expired β runclaudeonce to refresh it, then click Refresh Now. Cookie Monster intentionally does not refresh tokens itself, to avoid ever touching your stored credentials. - The usage endpoint is undocumented and may change without notice. If the
numbers stop appearing, check the field names in
src/Core.swift(five_hour,seven_day,seven_day_opus/seven_day_sonnet).
| Path | What |
|---|---|
src/Core.swift |
Shared logic β keychain read, usage fetch, formatting |
src/App.swift |
The menu-bar UI (AppKit NSStatusItem) |
build.sh |
Compile the .app bundle |
install.sh / uninstall.sh |
Install/remove to ~/Applications |
package.sh |
Build a .dmg + .zip into dist/ for releases |
Issues and PRs are welcome β see CONTRIBUTING.md. Security reports: SECURITY.md. Release history: CHANGELOG.md.
This is an unofficial, community project. It is not affiliated with, endorsed by, or supported by Anthropic. It relies on an undocumented endpoint that could change or break at any time. Provided as-is under the MIT License.