Claude Status Bar

Lightweight Claude Code status-line monitor. Shows your 5h / 7d rate-limit usage, reset timers, current model, context window, prompt-cache freshness, and (optionally) session cost — in a single compact line driven by Claude Code's statusLine hook.
5h[ 27% ]⏰1h28m | 7d[ 79% ]⏰11h28m | Opus 4.7(350.0k/1.0M) | cache 4m23s
3 styles × 7 themes, configurable in one command. Auto-updates from PyPI. New in v3.2: a daemon mode that drops 1 Hz refresh CPU from ~6% to ~2% — same status line, ~5× cheaper.
Contents
What's new in v3.2
- Daemon fast-mode —
cs --setup --fast swaps the statusLine command to cs render backed by a long-lived cs daemon. At refreshInterval: 1 this cuts continuous CPU from ~6% to ~2%, render wall-clock from ~60ms to ~5ms. Crash-safe (auto-falls-back to inline render if the daemon dies; lazy-respawns).
- OS-managed daemon —
cs daemon install installs a launchd agent (macOS) or systemd user unit (Linux) so the daemon auto-starts on login and is restarted on crash by the OS.
cache 4m23s countdown — opt-in via cs config set show_cache_age true. Counts down to Anthropic's prompt-cache expiry (default 5min TTL); flips through green → yellow (<1min) → red cache COLD. Configurable TTL via cs config set cache_ttl_seconds 3600 for users on the 1-hour extended cache. For Pro/Max subscribers, cache hits consume ~10× less of your 5h / 7d rate-limit quota — letting it go COLD costs you ~10× more quota on the next prompt. The widget tells you whether to send now or wrap up first.
cs doctor 1Hz hint — detects refreshInterval ≤ 2s with the inline command and recommends cs --setup --fast.
- Import-shaving on the inline path — even users who don't opt into daemon mode get ~30% faster renders.
Existing users: nothing changes by default. Daemon mode is opt-in.
What it shows
5h[ 27% ]⏰1h28m | 7d[ 79% ]⏰11h28m | Opus 4.7(350.0k/1.0M) | cache 4m23s | $ 1.42
| Segment | Meaning |
|---|
5h[27%] | 5-hour rate-limit usage (rolling window from Anthropic API headers) |
⏰1h28m | Time until the 5-hour window resets |
7d[79%] | 7-day rate-limit usage |
⏰11h28m | Time until the 7-day window resets |
Opus 4.7(350.0k/1.0M) | Model name + current context window usage |
cache 4m23s / cache COLD | Countdown to prompt-cache expiry (5min TTL by default). Green when comfortable, yellow under 1min, red on COLD. Cache hits consume ~10× less rate-limit quota — for subscribers this means COLD prompts eat your 5h / 7d windows ~10× faster. Opt-in: cs config set show_cache_age true |
$ 1.42 | Session cost in USD as Claude Code reports it. For Pro/Max subscribers this is the API-equivalent value of your usage (i.e. what it would cost on the API), not money owed. Useful as an ROI signal. Opt-in: cs config set show_cost true |
📚 EN:6.0↑ JA:5.0→ | IELTS band progress (requires prompt-language-coach) |
Colors default to green / yellow / red at 30% and 70% — both thresholds configurable.
Install
One-line install (recommended)
curl -fsSL "https://raw.githubusercontent.com/leeguooooo/claude-code-usage-bar/main/web-install.sh?v=$(date +%s)" | bash
Installs the package, configures Claude Code's statusLine, sets up shell aliases. Restart Claude Code to see the bar.
Package managers
pip install claude-statusbar # pip
uv tool install claude-statusbar # uv
pipx install claude-statusbar # pipx
Then add to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "cs",
"refreshInterval": 1
}
}