Simple Claude Code Statusline

A minimal, hackable two-line statusline for Claude Code.

Features
Line 1: Model [*thinking] [•effort] [agent] | Directory | Git branch + status + PR badge | Session lines changed
Line 2: Context bar | 5h rate limit | 7d rate limit | Cost | Duration
- Tokyo Night color scheme
- Context usage with color-coded progress bar
- Rate limit tracking with time until reset
- Git branch with added/modified/deleted counts and ahead/behind tracking
- Open PR badge with review state (
#1234 ⏳) when Claude Code detects a PR for the current branch
- Git worktree support with
[wt:name] indicator
- Reasoning effort level (
•high) and extended-thinking marker (*)
- Agent name display when using
--agent flag
- Session lines changed (cumulative +added/-removed)
- Session cost tracking ($X.XX)
- Auto-compact indicator (↻) when enabled
>200k token threshold indicator (fast mode pricing doubles past 200k)
- Cross-platform (macOS and Linux)
- Cross-compiled Go binaries — zero runtime dependencies
Context Usage Colors
| Usage | Color | Meaning |
|---|
| 0-50% | Green | Plenty of context remaining |
| 51-75% | Yellow | Getting full |
| 76-90% | Orange | Consider summarizing |
| 91%+ | Red | Near limit |
Git Features

- Branch name with file status counts (✚added/●modified/✖deleted)
- Ahead/behind tracking:
↑2 commits ahead, ↓1 behind upstream
- PR badge:
#1234 ⏳ for the open PR on the current branch — ✓ approved, ⏳ pending, ✗ changes requested, ◌ draft (Claude Code v2.1.145+)
- Worktree indicator:
[wt:feature-name] when in a linked worktree
- Session lines changed:
+44/-14 cumulative lines added/removed this session
Model Display

Shows abbreviated model names: Fable 5, Opus 4.8, Sonnet 4.6, Haiku, etc.
Requirements
git — Repository status (optional)
The plugin ships as pre-compiled Go binaries with no runtime dependencies.
Installation
Option 1: Plugin (recommended)
Add the marketplace:
/plugin marketplace add Postmodum37/simple-claude-code-statusline
Install the plugin:
/plugin install simple-statusline
Restart Claude Code, then configure:
/simple-statusline:setup
The statusline appears immediately after setup (no second restart needed).
Option 2: Manual
Clone the repo and build:
git clone https://github.com/Postmodum37/simple-claude-code-statusline.git
cd simple-claude-code-statusline
make build
Copy the shim and your platform's binary:
cp bin/statusline.sh ~/.claude/statusline.sh
chmod +x ~/.claude/statusline.sh
mkdir -p ~/.claude/bin
cp bin/$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')/statusline ~/.claude/bin/statusline
Add to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "~/.claude/bin/statusline"
}
}
Restart Claude Code.
Customization
Fork the repo and edit the Go source. Colors are defined as constants in src/render.go, and the two-row layout is built in buildRow1/buildRow2. Run make build to compile after changes.
JSON Input Reference
Claude Code pipes JSON to statusline commands via stdin. Here's the complete schema (as of Claude Code v2.1.170):