Claude Code Dashboard
Real-time local usage monitoring for Claude Code and Codex, with Claude utilization pulled from Anthropic's own
/usageAPI.
If you're on Claude Max and also using Codex heavily, this gives you one place to see what you've spent, what is left, and how fast you're burning through each window.
What it does
- Tracks Claude Code usage from
~/.claude/projects/**/*.jsonl - Pulls Claude utilization directly from
https://api.anthropic.com/api/oauth/usage - Tracks Codex limits from
~/.codex/sessions/**/*.jsonlusingtoken_countevents - Shows Codex 7-day and 5-hour windows separately from Claude
- Exposes a browser dashboard and a macOS menubar view
- Keeps all processing local
Claude stays on its own calculation path. Codex is added as a separate source, with its own cycle and resets.
Main views
Live dashboard
The live dashboard shows:
- Claude weekly utilization, Sonnet utilization, and 5h window
- Codex 7d used, 7d left, 5h used, reset times, and plan type
- A Claude burndown chart
- A separate Codex chart built from local Codex session logs
- Live API calls, session costs, and recent activity
Run it with:
claude-dashboard live
claude-dashboard live --no-browser --port 8765
Menubar
On macOS, the menubar app shows explicit text for both systems:
Claude: xx%Codex: yy%
And in the dropdown menu:
- Claude weekly, Sonnet, and 5h
- Codex 7d and 5h
- Claude and Codex reset times
- Pace and recent session cost details
Run it with:
claude-dashboard menubar
Install menubar dependencies with:
pip install "claude-token-dashboard[menubar]"
Installation
pip install claude-token-dashboard
Or with menubar support:
pip install "claude-token-dashboard[menubar]"
Data sources
Claude
Claude Code stores its OAuth token in macOS Keychain under Claude Code-credentials. The dashboard reads it locally and calls:
GET https://api.anthropic.com/api/oauth/usage
Authorization: Bearer <your token>
anthropic-beta: oauth-2025-04-20
That is the same utilization source behind /usage.
Codex
Codex data is read locally from:
~/.codex/sessions/**/*.jsonl
The dashboard parses token_count events and uses:
rate_limits.secondary.used_percentfor the 7-day windowrate_limits.primary.used_percentfor the 5-hour windowresets_atfor both reset timesplan_typewhen present
This avoids assuming Codex follows Claude's cycle.
Commands
claude-dashboard live
claude-dashboard menubar
claude-dashboard analyze
claude-dashboard burndown
claude-dashboard report
Requirements
- Python 3.9+
- macOS for Claude OAuth lookup through Keychain
- Claude Code installed for Claude usage data
- Codex local sessions available if you want Codex tracking
The browser dashboard works without extra dependencies. The menubar needs rumps and Pillow.
Privacy
- All log parsing is local
- Claude project logs are read-only
- Codex session logs are read-only
- The only outbound API call is the Claude usage call to Anthropic using your own local OAuth token
Billing cycle notes
Claude resets weekly according to Anthropic's Max billing cycle.
Codex is displayed from its own local rate-limit windows and reset timestamps. It is intentionally not forced into Claude's cycle.
Metadata
Release files for claude-token-dashboard 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| claude_token_dashboard-0.2.1.tar.gz | 48.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| claude_token_dashboard-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.4 kB
Release files / claude_token_dashboard-0.2.1.tar.gz
| Download URL | claude_token_dashboard-0.2.1.tar.gz |
|---|---|
| Size | 48.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3dc52d11a56b6c74745743166cdaa3c5d5b0cd737f52a54504dd057bb077fd0
|
|
BLAKE2b-256 checksum How to use checksums |
0d229213ea9b045e632324ea45fb5fcb891e44772615623bb47a0dbf025d018d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency logRelease files / claude_token_dashboard-0.2.1-py3-none-any.whl
| Download URL | claude_token_dashboard-0.2.1-py3-none-any.whl |
|---|---|
| Size | 52.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ced323a9f109ee1576b88c6fdd604f218eee52ccd67424ff88542af46ce965c1
|
|
BLAKE2b-256 checksum How to use checksums |
17c0e4bcf657dc28602151a9cdcc5ef378628146995f30fed6e867ae096feb0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.
Transparency log