# Claude Code Status Line
A beautiful, configurable status line for Claude Code that displays workspace info, git status, model name, context usage, worktree and added-directory scope hints, quota limits with timers, and optional API costs.
```
~/projects/app (+2 dirs) [main] * (+150, -25) Opus (effort: high) ctx: 42% (84k/200k) 5h: 23% (2h 15m) 7d: 41% (3d 4h)
```
## ✨ Features
- **📊 Rich Information Display** - Working directory, git branch, model name, reasoning effort, context usage, worktree/scope hints, quota tracking (5h/7d)
- **🎨 Fully Customizable** - Per-section colors, Powerline arrows or custom separators, multiline mode
- **📱 Responsive Design** - Automatically drops or wraps low-priority sections on narrow terminals
- **🔒 No Credentials Needed** - Everything comes from the data Claude Code passes to the statusline; no tokens are read and no network calls are made
- **🚀 Easy Installation** - Installed from crates.io on macOS, Linux and Windows
## 🚀 Quick Start
Requires the Rust toolchain ([rustup.rs](https://rustup.rs)). This builds the binary from crates.io and installs the slash commands:
**macOS / Linux:**
```bash
cargo install claude-code-status-line --locked --root ~/.claude/statusline && ~/.claude/statusline/bin/claude-code-status-line --install-commands
```
**Windows (PowerShell):**
```powershell
cargo install claude-code-status-line --locked --root "$env:USERPROFILE\.claude\statusline"; & "$env:USERPROFILE\.claude\statusline\bin\claude-code-status-line.exe" --install-commands
```
Then restart Claude Code and run:
```
/install-statusline
```
This configures `statusLine` in `~/.claude/settings.json` and walks you through the statusline settings.
If the statusline does not appear, make sure Claude Code trusts the workspace. Claude Code will not execute custom `statusLine` commands until the workspace is trusted.
## 🆘 Quick Help
| Customize settings | `/customize-statusline` |
| Update to latest version | `/update-statusline` |
| Uninstall completely | `/uninstall-statusline` |
| Check version | `~/.claude/statusline/bin/claude-code-status-line --version` |
| Reinstall slash commands | `~/.claude/statusline/bin/claude-code-status-line --install-commands` |
**Configuration files:**
- `~/.claude/statusline/settings.json` - Feature toggles and settings (created with defaults on first run)
- `~/.claude/statusline/colors.json` - Color customization (created with defaults on first run)
**Quota (5h / 7d):**
- Shown for Claude.ai Pro/Max subscribers, read from the `rate_limits` data Claude Code provides after the first response in a session.
- Hidden for API-key usage, where Claude Code sends no plan limits. Enable the `cost` section instead.
**Keeping countdowns fresh:** Claude Code re-runs the statusline on events. Add `"refreshInterval": 60` to the `statusLine` block in `~/.claude/settings.json` (the installer offers this) to also refresh every minute while idle.
**Debugging:** run with `STATUSLINE_DEBUG=1`, or force a width with `CLAUDE_TERMINAL_WIDTH=120`.
## ⚠️ Known Issues
- **Notification overlap** - Claude Code notifications may obstruct the statusline
- **Powerline characters** - Require a Nerd Font / Powerline-patched font
## 📄 License
MIT License
---
**Made with ❤️ for the Claude Code community**