Lightweight status bar monitor for Claude AI token usage
Project description
Claude Status Bar
Lightweight Claude Code status bar monitor for the built-in statusLine hook.
It shows your current Claude.ai rate-limit usage, reset timers, context window usage, and an optional ASCII pet in a compact single-line format.
What it shows
5h[███38%░░░░]⏰2h14m | 7d[███87%███░]⏰3d05h | Opus 4.6(90.0k/1.0M) | ᓚᘏᗢ Giga:working!
| Segment | Meaning |
|---|---|
5h[███38%░░░░] |
5-hour rate-limit usage |
⏰2h14m |
Time until the 5-hour window resets |
7d[███87%███░] |
7-day rate-limit usage |
⏰3d05h |
Time until the 7-day window resets |
Opus 4.6(90.0k/1.0M) |
Model name plus current context usage |
ᓚᘏᗢ Giga:working! |
Optional status-bar pet |
📚 EN:6.0↑ JA:5.0→ |
IELTS band progress (requires prompt-language-coach) |
Colors default to green / yellow / red at 30% and 70%, and can be customized.
Styles & themes (v2.7+)
The default style above (classic) stays the same forever. Two new styles are available — pick whichever you like, or stick with classic.
cs --style capsule --theme graphite # try once
cs --style hairline --theme twilight # try once
cs config set style capsule # persist
cs config set theme twilight
cs styles # list available styles
cs themes # list available themes
cs preview # render every style × theme together
| Style | Look |
|---|---|
classic |
Original [bar] | pipe engineering layout. Default. |
capsule |
Each metric is a colored pill — type badge (◷ 5H / ☷ 7D / ◆ / 📚) on the left, value, severity dot on the right. Subway-signage feel. |
hairline |
One-character mini-bar (▁▃▆█) per metric, dashed ┊ separators, tight typography. Maximally calm. |
| Theme | When to use |
|---|---|
graphite |
Default. Cool/dark, fits most dark terminals. |
twilight |
Soft purples/roses — looks great on warm dark backgrounds. |
linen |
Cream/beige — for light terminal themes. |
Style and theme are independent: any of the three styles can be rendered with any of the three themes (9 combinations).
Slash commands inside Claude Code
After running cs --setup (or cs install-commands), the following slash commands work inside Claude Code:
| Slash command | What it does |
|---|---|
/statusbar |
Show current config + lists styles/themes |
/statusbar-preview |
Render every style × theme combination using your real data |
/statusbar-style <name> |
Switch style (classic / capsule / hairline) |
/statusbar-theme <name> |
Switch theme (graphite / twilight / linen) |
/statusbar-reset |
Restore the original classic + graphite defaults |
Configuration file
Persisted to ~/.claude/claude-statusbar.json:
{
"style": "capsule",
"theme": "twilight"
}
Override per-invocation via --style / --theme flags or CLAUDE_STATUSBAR_STYLE / CLAUDE_STATUSBAR_THEME env vars.
Install
One-line install (recommended)
curl -fsSL "https://raw.githubusercontent.com/leeguooooo/claude-code-usage-bar/main/web-install.sh?v=$(date +%s)" | bash
This installs the package, configures Claude Code statusLine, and sets up aliases. Restart Claude Code to see it.
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"
}
}
Usage
cs # show status bar (shortest alias)
cs --style capsule # render with capsule style for one run
cs --theme twilight # override theme
cs config show # show persistent config
cs config set style hairline # save style to ~/.claude/claude-statusbar.json
cs config set theme linen # save theme
cs styles # list available styles
cs themes # list available themes
cs preview # render every style × theme using your real data
cs --json-output # machine-readable JSON
cs --no-color # disable ANSI colors
cs --hide-pet # hide the ASCII pet
cs --warning-threshold 40 --critical-threshold 85
cs --no-auto-update # disable auto-update checks
--plan still exists for older scripts, but it is deprecated and no longer changes the status line output.
Environment variables
| Variable | Effect |
|---|---|
CLAUDE_STATUSBAR_STYLE=capsule |
Render with this style (overrides config file) |
CLAUDE_STATUSBAR_THEME=twilight |
Render with this theme (overrides config file) |
CLAUDE_STATUSBAR_NO_UPDATE=1 |
Disable automatic update checks |
CLAUDE_STATUSBAR_HIDE_PET=1 |
Hide the status bar pet |
CLAUDE_STATUSBAR_WARNING_THRESHOLD=40 |
Switch from green to yellow at 40% |
CLAUDE_STATUSBAR_CRITICAL_THRESHOLD=85 |
Switch from yellow to red at 85% |
NO_COLOR=1 |
Disable ANSI colors |
CLAUDE_PLAN is still accepted for legacy compatibility, but it no longer changes the rendered status line.
JSON output
Use --json-output if you want a machine-readable payload instead of the formatted status line:
cs --json-output
Data source
Rate-limit data comes directly from Anthropic's official API headers exposed to Claude Code status-line commands through stdin.
Context-window usage comes from the same stdin payload that Claude Code sends to custom statusLine commands.
Requires Claude Code v2.1.80+.
Upgrading
Auto-updates once per day. To upgrade manually:
pip install --upgrade claude-statusbar
To disable auto-updates: export CLAUDE_STATUSBAR_NO_UPDATE=1
Integrations
prompt-language-coach
Install the prompt-language-coach Claude Code plugin to get IELTS band progress tracking. After setup, the status bar automatically shows your current writing level and trend:
... | Opus 4.6(90k/1M) | 📚 EN:6.0↑ JA:5.0→ | ᓚᘏᗢ
↑improved from last session ·↓dropped ·→no change- No configuration needed — the segment appears automatically when
~/.claude/language-progress.jsonexists.
License
MIT
Star History
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file claude_statusbar-2.8.0.tar.gz.
File metadata
- Download URL: claude_statusbar-2.8.0.tar.gz
- Upload date:
- Size: 38.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c66ff9517dbc40e7ccab1d9bc0e36ea47edb3b8b4894f62a726d44021320661a
|
|
| MD5 |
129a078a46796fcf4ce39578a29be14d
|
|
| BLAKE2b-256 |
fe1994045da7862bf218103d1b10effe3f29479631cce56f20f73ae4eef2bb88
|
File details
Details for the file claude_statusbar-2.8.0-py3-none-any.whl.
File metadata
- Download URL: claude_statusbar-2.8.0-py3-none-any.whl
- Upload date:
- Size: 39.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5d44618b13ee7e5842f0cdb0c96b6285506c1a7819e7738f94ab66de27ed667
|
|
| MD5 |
18139b54c98ea4e8776be816e3a6f990
|
|
| BLAKE2b-256 |
1446802c6b95590428ead8ca2e19ed9c2c414ee25ce5b8b861f25a0de28d4756
|