madappgang/claude-code/statusline-customization

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Configuration reference and troubleshooting for the statusline plugin — sections, themes, bar widths, and script architecture

Install

npx vskill@latest install madappgang/claude-code/statusline-customization

SKILL.md

Statusline Customization Reference

Config File

Location: ~/.claude/statusline-config.json

Schema
json
{
"sections": {
"model": true, // Model name (Opus/Sonnet/Haiku)
"branch": true, // Git branch name
"worktree": true, // Worktree indicator (wt:name)
"cost": true, // Session cost ($X.XX)
"duration": true, // Session duration (Xm Xs)
"context_bar": true, // Context window usage bar
"plan_limits": true // Plan limit bars with reset countdowns
},
"context_bar_width": 12, // Width of context bar in chars (8-20)
"plan_bar_width": 10, // Width of plan limit bar in chars (6-16)
"theme": "default" // Color theme name
}

All fields are optional. Missing fields use defaults shown above.

Sections Reference

SectionColorDescription
modelCyan (bold)Shortened model name with * prefix
branchGreenCurrent git branch or short commit hash
worktreeOrange (bold)wt:name — only shown when inside a linked worktree
costYellowCumulative session cost in USD
durationMagentaSession duration in minutes/seconds
context_barGreen→Red gradientVisual bar + token count (90k/200k) + compaction indicator (⟳)
plan_limitsTeal→Red gradientDual bar: top=5h, bottom=7d plan usage with reset countdowns
Plan Limits Bar Characters
  • █ — both 5h and 7d usage at this position
  • ▀ — only 5h usage (top half)
  • ▄ — only 7d usage (bottom half)
  • - — empty (unused capacity)
Reset Countdown Format

After each percentage, a countdown shows when the limit resets:

  • ↻1h40m — resets in 1 hour 40 minutes
  • ↻3d12h — resets in 3 days 12 hours
  • ↻now — resetting now

Example: █▄▄------- 5h:18% ↻1h40m 7d:35% ↻3d12h

Context Bar Token Count

After the percentage, a dim token count shows current/max context usage:

  • 45% 90k/200k — 90k tokens used out of 200k window
  • 72% 144k/200k — approaching limit
  • Only shown when Claude Code provides token data in stdin
Compaction Detection

A bold magenta ⟳ appears after the token count when auto-compaction is detected:

  • 25% 50k/200k ⟳ — compaction just happened (tokens dropped)
  • The indicator appears for one render only, then disappears
  • Detection works by caching total_input_tokens between renders; a drop means compaction occurred
  • Cache file: ~/.claude/.statusline-token-cache

Themes

ThemeDescription
defaultWarm/cool ANSI palette — bright cyan, green, yellow, orange, red
monochromeWhite and gray only — no colors
minimalMuted dim ANSI colors (30-series) — subtle and low-contrast
neon256-color bright variants — vivid and high-contrast

Script Architecture

Data Flow
  1. Claude Code pipes JSON session data to stdin
  2. Script reads config from ~/.claude/statusline-config.json
  3. Extracts fields with jq
  4. Detects git branch and worktree from cwd
  5. Reads plan usage from non-blocking background cache
  6. Renders ANSI-colored output to stdout
Non-Blocking API Cache
  • Cache file: ~/.claude/.statusline-usage-cache.json
  • TTL: 60 seconds
  • Mechanism: Background subshell ( ... ) & fires API call; current render uses stale cache
  • Token source: macOS Keychain (security find-generic-password -s "Claude Code-credentials")
  • API endpoint: https://api.anthropic.com/api/oauth/usage
Input JSON Schema (from Claude Code)
json
{
"model": { "display_name": "Claude Opus 4.6" },
"cost": { "total_cost_usd": 1.23, "total_duration_ms": 180000 },
"context_window": { "used_percentage": 45.2 },
"cwd": "/path/to/project"
}

Troubleshooting

jq not found

The script requires jq for JSON parsing. Install with:

bash
brew install jq
No plan limits showing
  • Check if cache file exists: ls -la ~/.claude/.statusline-usage-cache.json
  • Verify Keychain access: security find-generic-password -s "Claude Code-credentials" -w | head -c 20
  • If Keychain prompts are denied, the API call silently fails — grant access when prompted
  • Plan limits only show when both 5h and 7d utilization data are available
Config not taking effect
  • Verify JSON syntax: jq . ~/.claude/statusline-config.json
  • After changing config, the script picks it up on next render (no restart needed)
  • To redeploy the script itself after a plugin update, run /statusline:install-statusline
Script not executable
bash
chmod +x ~/.claude/statusline-command.sh
# or for project-level:
chmod +x .claude/statusline-command.sh
Reset countdown not showing
  • Reset times come from the resets_at field in the usage API response
  • If the field is missing from the API response, no countdown is shown
  • Verify with: jq '.five_hour.resets_at, .seven_day.resets_at' ~/.claude/.statusline-usage-cache.json

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
280
Repository forks
32
7-day trend score
28

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/madappgang/claude-code/statusline-customization/badge)](https://verified-skill.com/skills/madappgang/claude-code/statusline-customization)

Something wrong with this skill or its page? Tell us.