Skip to main content

System tray monitor for Claude Code token usage

Project description

Claude Code Usage Overlay

A Linux/GNOME system tray application that monitors your Claude Code token usage and alerts you before hitting limits.

PyPI version Python Platform License

Features

  • System tray icon with color-coded gauge (green/yellow/red based on usage)
  • Panel label showing session and weekly usage percentages
  • Popup notifications at configurable thresholds (default: 50%, 75%, 90%)
  • Configurable settings via JSON file or Settings menu
  • Auto-start on login via XDG autostart

Screenshots

The tray icon shows your current usage with:

  • Arc fill = session usage (5-hour window)
  • Color = worst-case urgency (max of session/weekly)
  • Panel label = "45%|67%" format

Requirements

  • Linux with GNOME Shell (or compatible desktop with AppIndicator support)
  • Python 3.11+
  • Claude Code CLI installed and authenticated
  • AppIndicator extension for GNOME Shell

System Dependencies

# Ubuntu/Debian
sudo apt install python3-gi python3-gi-cairo gir1.2-ayatanaappindicator3-0.1 gir1.2-notify-0.7

# Fedora
sudo dnf install python3-gobject python3-cairo libayatana-appindicator-gtk3 libnotify

# Arch
sudo pacman -S python-gobject python-cairo libayatana-appindicator libnotify

GNOME Shell Extension

Install the AppIndicator Support extension for GNOME Shell to see system tray icons.

Installation

From PyPI (recommended)

  1. Install system dependencies (see System Dependencies above)

  2. Install with pipx (recommended):

    pipx install claude-code-usage --system-site-packages
    

    The --system-site-packages flag is required to access system GTK libraries.

  3. Run: claude-usage

From Source

git clone https://github.com/Maex-z9/CC_Usage.git
cd CC_Usage
./install.sh

This installs system dependencies and the app automatically.

Prerequisites

Make sure you have Claude Code CLI installed and authenticated:

claude
# Follow the authentication flow

Usage

Run the application:

claude-usage

Or if running from source:

python3 -m src.main

Menu Options

Click the tray icon to access:

  • Current usage percentages and reset time
  • Refresh - Force update usage data
  • Settings submenu:
    • Pause Notifications - Temporarily disable alerts
    • Autostart on Login - Enable/disable auto-start
    • Edit Config File - Open config in text editor
  • Quit - Exit the application

Configuration

Config file location: ~/.config/claude-usage-overlay/config.json

{
  "session_thresholds": [50, 75, 90],
  "weekly_thresholds": [50, 75, 90],
  "polling_interval": 300,
  "pause_notifications": false,
  "autostart_enabled": false
}
Setting Description Default
session_thresholds Alert thresholds for 5-hour session usage [50, 75, 90]
weekly_thresholds Alert thresholds for 7-day weekly usage [50, 75, 90]
polling_interval Seconds between API checks (30-3600) 300 (5 min)
pause_notifications Disable popup alerts false
autostart_enabled Start on login false

How It Works

  1. Reads your OAuth token from ~/.claude/.credentials.json (created by Claude Code CLI)
  2. Polls the Anthropic usage API every 5 minutes (configurable)
  3. Displays usage in the system tray with color-coded urgency
  4. Shows desktop notifications when thresholds are crossed

Privacy & Security

  • No API keys stored in the repo - Uses Claude Code's existing credentials
  • Credentials stay local - Reads from ~/.claude/.credentials.json
  • Config stays local - Stored in ~/.config/claude-usage-overlay/
  • No data sent anywhere - Only communicates with Anthropic's API

Known Issues

See KNOWN_ISSUES.md for details on:

  • GNOME Shell tooltip limitations (using panel label instead)
  • AppIndicator menu accelerator limitations

Contributing

Contributions welcome! Please open an issue or PR.

License

MIT License - See LICENSE for details.

Acknowledgments

Built with Claude Code using the GSD workflow.

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_code_usage-1.0.3.tar.gz (15.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_code_usage-1.0.3-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file claude_code_usage-1.0.3.tar.gz.

File metadata

  • Download URL: claude_code_usage-1.0.3.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for claude_code_usage-1.0.3.tar.gz
Algorithm Hash digest
SHA256 a8264cd52a726ff242144a32abaa4ce74f88c210ce153aa43d5e77815b68920b
MD5 84a333870e9fe4616a9220f7fa226223
BLAKE2b-256 caf29e344fd4d53be9a326b4a6ecfed15f96007e2613e24ceed0050b0ca6a4da

See more details on using hashes here.

File details

Details for the file claude_code_usage-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for claude_code_usage-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c9c9b909d9f42cfa1fd9ab0c55b0dbead928754019e304c3bfc647431b9a8953
MD5 2370cd12e1e8584fa46a3edac4d6e416
BLAKE2b-256 c989d6e0475108cfb1807434d2d882623b14fa7fcc686979ee17b2c81fcfd773

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