A native macOS menu bar app that shows your Claude.ai usage at a glance.
- Menu bar indicator -- ring icon with percentage fills and changes color as usage increases
- 5-hour rolling window -- progress bar with reset countdown
- 7-day limits -- separate bars for total, Sonnet, and Opus utilization
- Subscription detection -- automatically identifies Pro / Max tier
- Auto-refresh -- polls every 5 minutes, manual refresh available
- Secure storage -- session key stored in macOS Keychain
- macOS 14 (Sonoma) or later
- Swift 5.9+
- Claude Pro or Max subscription
Download the latest .zip from Releases, unzip, then:
xattr -d com.apple.quarantine ClaudeBar.app
rm -rf /Applications/ClaudeBar.app && mv ClaudeBar.app /Applications/The xattr command removes the macOS quarantine flag — required for apps distributed outside the App Store.
git clone https://github.com/chiliec/claudebar.git
cd claudebar
./scripts/bundle.sh
cp -r .build/release/ClaudeBar.app /Applications/The build scripts auto-detect your Apple Development certificate. If you have none, they fall back to ad-hoc signing (the app will ask for your Keychain password on every launch).
To use a specific certificate:
CODE_SIGN_IDENTITY="Apple Development: Your Name (XXXXXXXX)" ./scripts/bundle.shOn the first launch after building, macOS will ask for your Keychain password to authorize the app — click Always Allow so it won't ask again.
- Open claude.ai in your browser
- Open DevTools and find the
sessionKeycookie:- Safari: Develop -> Show Web Inspector -> Storage -> Cookies
- Chrome / Arc / Brave: DevTools (Cmd+Opt+I) -> Application -> Cookies
- Firefox: DevTools (Cmd+Opt+I) -> Storage -> Cookies
- Copy the
sessionKeyvalue - Launch ClaudeBar and paste it in the setup screen
./scripts/run.sh # build + sign + run
swift test # run all tests (65 tests)
swift test --filter AppStateTests # run one test suiteThe project has two SPM targets: ClaudeBarUI (library with models, services, views) and ClaudeBar (thin executable entry point). This split enables SwiftUI #Preview support.
The icon is generated programmatically with CoreGraphics. To tweak colors or shape, edit scripts/generate-icon.swift and run:
swift scripts/generate-icon.swift
iconutil -c icns .build/ClaudeBar.iconset -o Sources/Resources/AppIcon.icnsNote: Do not use
swift run-- the binary must be code-signed to access Keychain. Use./scripts/run.shinstead.
ClaudeBar reads usage data from claude.ai/api/organizations/{org_id}/usage using your session cookie. It does not use any unofficial or undocumented endpoints beyond what the Claude.ai web app itself uses.
No data is sent anywhere except to claude.ai. Your session key never leaves your machine (stored in macOS Keychain).
MIT
