Skip to main content

Real-time Claude Code rate limit monitor with system tray app and usage dashboard

Project description

Claude Code Usage Monitor

A system tray app that shows your real-time Claude Code usage — rate limits, reset timers, and token stats — all from a single icon.

PyPI Downloads Python 3.10+ License: MIT Platform

Screenshot

Dashboard

Why?

Claude Code doesn't show you how much of your rate limit you've used or when it resets. This app sits in your system tray and gives you that info at a glance — so you never get surprised by a rate limit wall.

Features

  • Color-coded tray icon — green/yellow/red based on usage level, shows current % number
  • Live rate limits from Anthropic's API — 5-hour and 7-day windows with reset countdowns
  • Dashboard with gauges, stats cards, and daily output chart
  • CLI modeclaude-usage --cli for headless servers and scripting
  • Auto-detect your plan from Claude Code credentials (Pro, Max 5x, Max 20x)
  • Start on Login toggle — runs silently in the background
  • Self-update from the tray menu
  • Cross-platform — Windows, macOS, Linux
  • No API key required — uses your existing Claude Code OAuth session

Tray Icon

The icon changes color and shows your current usage percentage:

Tray Icons

  • Green (< 50%) — plenty of headroom
  • Yellow (50-80%) — moderate usage
  • Red (> 80%) — approaching limit

Right-click for quick stats:

5-Hour:  42% used  (58% left)  • resets in 2h 14m
7-Day:   38% used  (62% left)  • resets in 4d 11h
──────────────────────────────────────────
Today:  89 msgs  • 1.2M output  • 4 sessions
Since Mar 01:  3.8M output (12.4M total)  • 412 msgs
──────────────────────────────────────────
Open Dashboard
──────────────────────────────────────────
Start on Login  (off)
Create Desktop Shortcut
──────────────────────────────────────────
Check for Updates
GitHub / Help
Refresh
Quit

Quick Start

pip install claude-usage-tray
claude-usage

That's it. The icon appears in your system tray. Right-click for stats, double-click for the dashboard.

Prerequisites: Claude Code installed and signed in (claude in terminal).

Other install methods

# pipx (isolated environment)
pipx install claude-usage-tray

# Latest dev version
pip install git+https://github.com/Bortlesboat/claude-usage-monitor.git

# Clone and run
git clone https://github.com/Bortlesboat/claude-usage-monitor.git
cd claude-usage-monitor
pip install .

CLI Mode

For headless servers, SSH sessions, or scripting:

claude-usage --cli
Claude Code Usage Monitor v3.0.0

Rate Limits:
  5-Hour:  42% used (58% remaining)  resets in 2h 37m
  7-Day:   68% used (32% remaining)  resets in 4d 11h

Today: 3,252 messages | 706.1K output tokens | 15 sessions
This Period (since Mar 01): 26,660 messages | 5.2M output | 166 sessions

How It Works

The app reads two data sources — no extra API keys or configuration needed:

Source What it provides
Anthropic OAuth API Real-time rate limit windows (5-hour, 7-day), utilization %, reset times
Session JSONL files (~/.claude/projects/) Token counts by model, daily activity, session history

Your OAuth token is read from ~/.claude/.credentials.json (created when you sign in to Claude Code).

Configuration

The app auto-detects your plan on first run. Config is saved at ~/.claude/usage-monitor-config.json:

{
  "plan": "max_20x",
  "billing_day": 1
}
  • plan: free, pro, max_5x, or max_20x
  • billing_day: day of month your billing cycle resets (1-28)

Requirements

Linux dependencies

# Ubuntu/Debian
sudo apt install python3-tk libappindicator3-1

# Fedora
sudo dnf install python3-tkinter libappindicator-gtk3

Troubleshooting

claude-usage command not found (Windows): Windows Store Python installs scripts to a directory not on PATH. Use python -m claude_usage_monitor instead, or install with pipx.

"Sign in to Claude Code first": Run claude in your terminal and complete the sign-in flow.

"Session expired": Run claude in terminal to re-authenticate.

No data showing: Use Claude Code at least once — session files are created in ~/.claude/projects/ after your first conversation.

Tray icon not visible (Linux): You may need a system tray extension. On GNOME, install AppIndicator Support.

Updating

Click "Check for Updates" in the tray menu, or:

pip install --upgrade claude-usage-tray

Contributing

Issues and PRs welcome. To develop locally:

git clone https://github.com/Bortlesboat/claude-usage-monitor.git
cd claude-usage-monitor
pip install -e ".[dev]"
pytest tests/

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

claude_usage_tray-3.1.0.tar.gz (26.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

claude_usage_tray-3.1.0-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

Details for the file claude_usage_tray-3.1.0.tar.gz.

File metadata

  • Download URL: claude_usage_tray-3.1.0.tar.gz
  • Upload date:
  • Size: 26.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for claude_usage_tray-3.1.0.tar.gz
Algorithm Hash digest
SHA256 2cb6fb9ef562e7df288eadcf2c37de2a317aa9953bcf21c7e69d544fc1807431
MD5 abbd4d4604e3a655a7019affc7ed584e
BLAKE2b-256 df152f1e3cdc3f7ea927f8c3a87d9cf9ac4ee7fba4b10031b33a23f57decc455

See more details on using hashes here.

File details

Details for the file claude_usage_tray-3.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_usage_tray-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a76e6434a0f136ac3d50ca0d644c94aa075427fb8c54d004fadabc35c57192b1
MD5 591dbf1a88e84306f80f96d30633a5ad
BLAKE2b-256 52d507d2445f811ce1a7ac7b9c69d79ca2e5eb8568fd553cc16731cd2633032c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page