Display Name
claude-statusbar
Category
Status Lines
Sub-Category
General
Primary Link
https://github.com/leeguooooo/claude-code-usage-bar
Author Name
leeguooooo
Author Link
https://github.com/leeguooooo
License
MIT
Other License
No response
Description
Python status-line for Claude Code. Shows 5-hour and 7-day rate-limit usage, reset countdowns, current model, context window, prompt-cache freshness, and optional per-session cost in one line. Three styles, nine themes, configurable via a cs CLI; daemon mode (default since v3.6.0) keeps CPU under 1% at sub-second refresh. Reads session data locally; the only network call is a once-per-24h PyPI version check that auto-upgrades the package, disabled by CLAUDE_STATUSBAR_NO_UPDATE=1.
Validate Claims
Install via pip install claude-statusbar, run cs --setup to wire the statusLine hook into ~/.claude/settings.json, then restart Claude Code. The bottom line of the terminal now shows live rate-limit usage bars and timers. Run cs preview to render every style × theme combination side-by-side using real cached data. Run cs doctor to validate the wiring and surface misconfiguration.
Specific Task(s)
Inspect Claude Code's current 5-hour rate-limit window without leaving the terminal, then switch the status bar to a different theme.
Specific Prompt(s)
"Show me my current 5h and 7d rate-limit usage and switch the status bar theme to nord." The claude-statusbar skill routes this to cs config set theme nord and reports the current usage from the cached headers.
Additional Comments
Disclosures per CONTRIBUTING guidance:
- Auto-update (on by default): once per 24h, on status-line render, the tool checks
https://pypi.org/pypi/claude-statusbar/json and, if a newer version exists, silently runs the appropriate upgrade command (pip/pipx/uv tool install --upgrade) capped at 60s. Disable via env CLAUDE_STATUSBAR_NO_UPDATE=1 or CLI flag --no-auto-update. Source: src/claude_statusbar/updater.py + core.py:check_for_updates.
- Settings auto-repair (on by default): once per 24h, the tool calls
ensure_statusline_configured() which atomically rewrites ~/.claude/settings.json if the statusLine hook is missing or points elsewhere. This is what makes pip install + restart Claude Code work without a manual cs --setup, but it means the package modifies a shared Claude Code config file outside the explicit setup command. Source: src/claude_statusbar/setup.py + core.py:_maybe_ensure_statusline.
- Network: the PyPI version check is the only outbound request. No telemetry, no analytics, no calls to any author-controlled server.
- Files written:
~/.claude/settings.json (one statusLine block, atomic write), ~/.claude/claude-statusbar.json (own config), ~/.cache/claude-statusbar/ (timestamp markers + daemon socket/render cache).
- Daemon mode: opt-out long-lived background process for sub-second refresh, default since v3.6.0. Stop with
cs daemon stop; pass --inline to cs --setup to opt out entirely.
- No
--dangerously-skip-permissions required; no sudo needed.
- Uninstall:
cs --uninstall removes the statusLine entry from ~/.claude/settings.json; pip uninstall claude-statusbar removes the package. To also remove caches: rm -rf ~/.cache/claude-statusbar ~/.claude/claude-statusbar.json.
Recommendation Checklist
Display Name
claude-statusbar
Category
Status Lines
Sub-Category
General
Primary Link
https://github.com/leeguooooo/claude-code-usage-bar
Author Name
leeguooooo
Author Link
https://github.com/leeguooooo
License
MIT
Other License
No response
Description
Python status-line for Claude Code. Shows 5-hour and 7-day rate-limit usage, reset countdowns, current model, context window, prompt-cache freshness, and optional per-session cost in one line. Three styles, nine themes, configurable via a cs CLI; daemon mode (default since v3.6.0) keeps CPU under 1% at sub-second refresh. Reads session data locally; the only network call is a once-per-24h PyPI version check that auto-upgrades the package, disabled by CLAUDE_STATUSBAR_NO_UPDATE=1.
Validate Claims
Install via
pip install claude-statusbar, runcs --setupto wire thestatusLinehook into~/.claude/settings.json, then restart Claude Code. The bottom line of the terminal now shows live rate-limit usage bars and timers. Runcs previewto render every style × theme combination side-by-side using real cached data. Runcs doctorto validate the wiring and surface misconfiguration.Specific Task(s)
Inspect Claude Code's current 5-hour rate-limit window without leaving the terminal, then switch the status bar to a different theme.
Specific Prompt(s)
"Show me my current 5h and 7d rate-limit usage and switch the status bar theme to nord." The
claude-statusbarskill routes this tocs config set theme nordand reports the current usage from the cached headers.Additional Comments
Disclosures per CONTRIBUTING guidance:
https://pypi.org/pypi/claude-statusbar/jsonand, if a newer version exists, silently runs the appropriate upgrade command (pip/pipx/uv tool install --upgrade) capped at 60s. Disable via envCLAUDE_STATUSBAR_NO_UPDATE=1or CLI flag--no-auto-update. Source:src/claude_statusbar/updater.py+core.py:check_for_updates.ensure_statusline_configured()which atomically rewrites~/.claude/settings.jsonif thestatusLinehook is missing or points elsewhere. This is what makespip install + restart Claude Codework without a manualcs --setup, but it means the package modifies a shared Claude Code config file outside the explicit setup command. Source:src/claude_statusbar/setup.py+core.py:_maybe_ensure_statusline.~/.claude/settings.json(onestatusLineblock, atomic write),~/.claude/claude-statusbar.json(own config),~/.cache/claude-statusbar/(timestamp markers + daemon socket/render cache).cs daemon stop; pass--inlinetocs --setupto opt out entirely.--dangerously-skip-permissionsrequired; nosudoneeded.cs --uninstallremoves thestatusLineentry from~/.claude/settings.json;pip uninstall claude-statusbarremoves the package. To also remove caches:rm -rf ~/.cache/claude-statusbar ~/.claude/claude-statusbar.json.Recommendation Checklist