Skip to main content

Zero-dependency real-time Claude Code usage monitor

Project description

cwatch

Real-time Claude Code usage monitor. Zero dependencies.

pip install cwatch
cwatch
──────────────────────────────────────────────────────────
  CLAUDE CODE  ·  USAGE MONITOR
──────────────────────────────────────────────────────────

  5-hour session
  [████████████░░░░░░░░░░░░░]   48%  reset in 2h 31m (18:00:00)

  7-day window
  [████░░░░░░░░░░░░░░░░░░░░░]   18%  reset in 4d 12h (Sat 00:00)

──────────────────────────────────────────────────────────
  Updated 15:28:43   ·   Ctrl+C to exit

Why cwatch?

cwatch claude-monitor
Dependencies zero (stdlib only) Rich, Pydantic, pytz…
Data source live OAuth API local JSONL files
Install pip install cwatch requires ccusage (npm) + pip
Python 3.9+ 3.9+

cwatch reads the same internal API endpoint that Claude Code itself uses — numbers are exact and real-time, no token-counting heuristics.

Install

pip install cwatch
# or isolated (recommended)
pipx install cwatch
uv tool install cwatch

Requires: Python 3.9+ and having run claude login at least once.

Usage

cwatch                        # live dashboard, refresh every 60s
cwatch --interval 30          # faster refresh
cwatch --once                 # one compact line, then exit
cwatch --json                 # raw API JSON dump
cwatch --token sk-ant-oat01-… # explicit token
CLAUDE_TOKEN=sk-… cwatch      # token via env var

tmux statusline

set -g status-right "#(cwatch --once)  %H:%M"
set -g status-interval 60

How it works

Calls GET https://api.anthropic.com/api/oauth/usage with your Claude Code OAuth token (read from macOS Keychain, ~/.claude/.credentials.json, or CLAUDE_TOKEN env var).

Python API

from cwatch.credentials import get_token
from cwatch.api import fetch

data = fetch(get_token())
print(f"5h session: {data.five_hour.pct}%  resets in {data.five_hour.time_until_reset}")

Contributing

PRs welcome. Please keep the zero-dependencies constraint.

git clone https://github.com/YOUR_USER/cwatch && cd cwatch
pip install -e . && pytest

License

MIT © 2026

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

cwatch_monitor-0.5.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

cwatch_monitor-0.5.2-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file cwatch_monitor-0.5.2.tar.gz.

File metadata

  • Download URL: cwatch_monitor-0.5.2.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for cwatch_monitor-0.5.2.tar.gz
Algorithm Hash digest
SHA256 580ab9ea355ea5591a4388403e6b4f88986de90873ae8ef7facd5d85cbf3ef34
MD5 a59ca6068d00418064ed2f6bd3656114
BLAKE2b-256 4811905f1ffa4bdbcbf9fc6e1d0a31d6ae64279e9c4a8057973a9e930e985c2d

See more details on using hashes here.

File details

Details for the file cwatch_monitor-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: cwatch_monitor-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for cwatch_monitor-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 707db74b378ccc61158901a93f2ba6d6b5f62cf72a441a2bb5341e11755a6018
MD5 5f3b733246136fb289deb63dc802cced
BLAKE2b-256 02afcf3b25a4b394e8b4708e36fdb83cdee506befcc1582c7d5b46f923a8b51b

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