A native macOS menu-bar app that shows your Claude usage as a Dynamic Island–style pill — your session (5‑hour) and weekly limits, with live reset countdowns, always a glance away.
Built for people who live in Claude Code / claude.ai and want to stop hitting rate-limit walls by surprise.

A small pill sits in your menu bar (parked beside the notch). It shows how much of your Claude session and weekly limits you've used — color-coded green → red — and counts down to each reset. Hover it for a detail card. It refreshes itself in the background and the moment you look at it.
Claude has no public usage API. Claude Meter reads the same authenticated endpoint the claude.ai website uses — GET /api/organizations/{org}/usage — from inside a hidden WebKit view that carries your normal claude.ai login (a sessionKey cookie stored only in the app's local container). It decodes the session/weekly utilization and reset timestamps and renders them.
Two requests leave your Mac, ever: the usage call to claude.ai, and an update check to claude.sanchitkd.com/ping carrying the app version and a random anonymous install ID. Nothing else.
WARNING: Because it relies on an undocumented endpoint plus your web session, it can break if Anthropic changes things. This is a personal-use convenience tool, not an official Anthropic product, and isn't affiliated with or endorsed by Anthropic. The app checks for a new version on launch and prompts you when a fix ships.
claude.ai and to claude.sanchitkd.com/ping — the update check. The ping carries exactly two things: the app version, and a random UUID generated on first launch and stored in UserDefaults. It is not derived from you, your account or your hardware; it exists so I can count how many installs are still running rather than how many times apps launch. It's ~40 lines in UpdateChecker.swift — read it.ClaudeMeter.app to /Applications.git clone https://github.com/sanchitkd/claude-meter.git
cd claude-meter
./scripts/build-app.sh
open .build/release/ClaudeMeter.app
Needs the Swift 6 toolchain (Xcode 16+) and macOS 14+.
On first launch a "Sign in to Claude" window opens.
Once you're in, the window closes automatically and the pill fills with your usage. The session persists across launches. If it ever expires, right-click the pill -> Sign in to Claude.
S 42% W 13% — color shows how close to the limit you are.| Section | Options |
|---|---|
| Updates | Refresh interval (60s-30min), enable animations |
| App | Launch at login, show menu-bar icon, appearance (System/Dark/Light) |
| Pill Position | Built-in display - Active screen - Screen under mouse - Specific display |
| Usage Colors | Customize each band of the green -> red palette |
| Logs | Current size, Rotate (keeps one backup), Clear |
Swift Package with two targets:
ClaudeMeter — the app entry point (@main, accessory activation policy).ClaudeMeterCore — everything else:
ClaudeWebSession (WebKit + the usage endpoint), AnthropicUsageProvider, AnthropicUsageModels, ClaudeLoginWindowController.UsageSnapshot / UsageWindow / UsageStatus, provider protocol, UsageColorPalette.UsageStateManager (refresh loop + countdown clock), SettingsManager.IslandView (pill + hover card), UsageColorResolver, SettingsView.IslandPanelController (the floating panel + screen placement), AppearanceController, SettingsWindowController.AppLogger, UsageFormatters.Compile:
swift build -c release
Run via the app bundle — recommended, because running with swift run has WebKit/CoreAnimation lifecycle issues for this style of app:
./scripts/build-app.sh
open .build/release/ClaudeMeter.app
For a fast rebuild-and-relaunch loop, add an alias to ~/.zshrc (adjust the path to your clone):
alias cm='cd ~/path/to/claude-meter && ./scripts/build-app.sh && killall ClaudeMeter 2>/dev/null; open .build/release/ClaudeMeter.app'
Then just run cm to rebuild and relaunch.
~/Library/Application Support/ClaudeMeter/ClaudeMeter.log (or Preferences -> Logs -> Show in Finder).Built by Sanchit Dikshit — sanchitkd.com - Dev.to - GitHub @sanchitkd.
Feedback or hi: claude.sanchitkd.com/#send-feedback.
If you use or fork Claude Meter, a star on the repo and a link back are appreciated.
MIT © 2026 Sanchit Dikshit. Not affiliated with Anthropic. "Claude" is a trademark of Anthropic.
15 commits
Swift
95.8%
Shell
4.2%
A native macOS menu-bar app that shows your Claude usage as a Dynamic Island–style pill — your session (5‑hour) and weekly limits, with live reset countdowns, always a glance away.
Built for people who live in Claude Code / claude.ai and want to stop hitting rate-limit walls by surprise.

A small pill sits in your menu bar (parked beside the notch). It shows how much of your Claude session and weekly limits you've used — color-coded green → red — and counts down to each reset. Hover it for a detail card. It refreshes itself in the background and the moment you look at it.
Claude has no public usage API. Claude Meter reads the same authenticated endpoint the claude.ai website uses — GET /api/organizations/{org}/usage — from inside a hidden WebKit view that carries your normal claude.ai login (a sessionKey cookie stored only in the app's local container). It decodes the session/weekly utilization and reset timestamps and renders them.
Two requests leave your Mac, ever: the usage call to claude.ai, and an update check to claude.sanchitkd.com/ping carrying the app version and a random anonymous install ID. Nothing else.
WARNING: Because it relies on an undocumented endpoint plus your web session, it can break if Anthropic changes things. This is a personal-use convenience tool, not an official Anthropic product, and isn't affiliated with or endorsed by Anthropic. The app checks for a new version on launch and prompts you when a fix ships.
claude.ai and to claude.sanchitkd.com/ping — the update check. The ping carries exactly two things: the app version, and a random UUID generated on first launch and stored in UserDefaults. It is not derived from you, your account or your hardware; it exists so I can count how many installs are still running rather than how many times apps launch. It's ~40 lines in UpdateChecker.swift — read it.ClaudeMeter.app to /Applications.git clone https://github.com/sanchitkd/claude-meter.git
cd claude-meter
./scripts/build-app.sh
open .build/release/ClaudeMeter.app
Needs the Swift 6 toolchain (Xcode 16+) and macOS 14+.
On first launch a "Sign in to Claude" window opens.
Once you're in, the window closes automatically and the pill fills with your usage. The session persists across launches. If it ever expires, right-click the pill -> Sign in to Claude.
S 42% W 13% — color shows how close to the limit you are.| Section | Options |
|---|---|
| Updates | Refresh interval (60s-30min), enable animations |
| App | Launch at login, show menu-bar icon, appearance (System/Dark/Light) |
| Pill Position | Built-in display - Active screen - Screen under mouse - Specific display |
| Usage Colors | Customize each band of the green -> red palette |
| Logs | Current size, Rotate (keeps one backup), Clear |
Swift Package with two targets:
ClaudeMeter — the app entry point (@main, accessory activation policy).ClaudeMeterCore — everything else:
ClaudeWebSession (WebKit + the usage endpoint), AnthropicUsageProvider, AnthropicUsageModels, ClaudeLoginWindowController.UsageSnapshot / UsageWindow / UsageStatus, provider protocol, UsageColorPalette.UsageStateManager (refresh loop + countdown clock), SettingsManager.IslandView (pill + hover card), UsageColorResolver, SettingsView.IslandPanelController (the floating panel + screen placement), AppearanceController, SettingsWindowController.AppLogger, UsageFormatters.Compile:
swift build -c release
Run via the app bundle — recommended, because running with swift run has WebKit/CoreAnimation lifecycle issues for this style of app:
./scripts/build-app.sh
open .build/release/ClaudeMeter.app
For a fast rebuild-and-relaunch loop, add an alias to ~/.zshrc (adjust the path to your clone):
alias cm='cd ~/path/to/claude-meter && ./scripts/build-app.sh && killall ClaudeMeter 2>/dev/null; open .build/release/ClaudeMeter.app'
Then just run cm to rebuild and relaunch.
~/Library/Application Support/ClaudeMeter/ClaudeMeter.log (or Preferences -> Logs -> Show in Finder).Built by Sanchit Dikshit — sanchitkd.com - Dev.to - GitHub @sanchitkd.
Feedback or hi: claude.sanchitkd.com/#send-feedback.
If you use or fork Claude Meter, a star on the repo and a link back are appreciated.
MIT © 2026 Sanchit Dikshit. Not affiliated with Anthropic. "Claude" is a trademark of Anthropic.
15 commits
Swift
95.8%
Shell
4.2%