https://github.com/ncreasor/claude-usage
Claude usage in your menu bar
https://github.com/ncreasor/claude-usage
claude claude-code claude-usage claude-usage-monitor
Last synced: about 2 months ago
JSON representation
Claude usage in your menu bar
- Host: GitHub
- URL: https://github.com/ncreasor/claude-usage
- Owner: ncreasor
- License: mit
- Created: 2026-04-16T07:53:59.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-30T09:50:02.000Z (about 2 months ago)
- Last Synced: 2026-04-30T11:26:22.322Z (about 2 months ago)
- Topics: claude, claude-code, claude-usage, claude-usage-monitor
- Language: Python
- Homepage:
- Size: 5.14 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Claude Usage Monitor
[](LICENSE)
[](#)
Your Claude session and weekly limits as progress bars in the macOS menu bar, so you stop opening a browser tab just to check.


## Why
I kept a Claude tab pinned just to see how close I was to the weekly limit, and I got tired of it. Now it's in the menu bar.
## How it works
A small daemon grabs your Claude session cookie from the browser, hits the Claude API, and writes the result to a file. A native macOS status bar app reads that file and draws the bars.
You don't paste tokens anywhere, and there's no browser extension. If you're signed into [claude.ai](https://claude.ai) in a browser, it works.
## Requirements
- macOS
- [Homebrew](https://brew.sh)
- Browser (Chrome, Brave, Arc), signed into claude.ai
## Install
```bash
git clone https://github.com/ncreasor/claude-usage.git
cd claude-usage
./install.sh
```
The installer grabs Python 3.13 via Homebrew if you don't have it, starts the background daemon, and launches the status bar app.
## Settings
Click the progress bars in the menu bar to open the dropdown, then go to **Settings**.
| Setting | Options |
|---|---|
| Style | Standard (`65% ──── 2h`) or Compact (two thin bars, no text) |
| Color theme | Orange, Blue, Green, Purple, Red, Teal, Pink, Yellow |
| Refresh interval | 1, 2, 5, 10, 15, or 30 minutes |
| Time format | Rounded (`5m`, `2h`) or Exact (`4m`, `1h 23m`, `2d 6h`) |
| Weekly bar | Show in menu bar or hide (still visible in the dropdown when hidden) |
| History charts | Show or hide the 24h session and 7d weekly usage charts |
Saved to `~/.claude-usage/config.json`.
## Uninstall
```bash
./uninstall.sh
```
Stops the daemon, removes the plugins, and asks whether to clear cached data.
## Privacy
The only network request goes to Anthropic: `GET https://claude.ai/api/organizations/{id}/usage`. No third-party server, no telemetry, nothing else phones home.
To read your usage, the daemon opens browser's local cookie database — the same cookies browser itself sends to claude.ai on every page load.
If you want to check, the entry points are [server.py](server/server.py), [claude-usage.py](displays/systray/claude-usage.py), and [claude_shared.py](claude_shared.py). You can read it end to end in a few minutes.
## Logs
```bash
tail -f ~/Library/Logs/claude-usage.log # daemon
tail -f ~/Library/Logs/claude-usage-systray.log # status bar app
```
## Roadmap
Settings
- [x] Styles & Colors
- [x] Refresh interval
- [x] Time format
- [x] Getting updates
- [ ] Languages
- [ ] Health
AI
- [x] Claude
- [ ] ChatGPT
- [ ] Grok
Browsers
- [x] Chrome
- [x] Arc
- [ ] Safari
- [ ] Firefox
- [x] Brave
Modes
- [x] Subscription
- [ ] Api
OS
- [x] MacOS
- [ ] Windows
## Contributing
Issues and PRs welcome. If it's useful to you, a ⭐ genuinely helps other people find it.