Claude-skill-registry custom-statusline

Set up custom Claude Code status line with Nerd Font icons, colors, git status, usage tracking, system info, and project context. NO EMOJIS - only Nerd Font icons and symbols. Use when configuring statusline, setting up status bar, or customizing Claude UI. Triggers with statusline, status bar, custom theme.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/custom-statusline" ~/.claude/skills/majiayu000-claude-skill-registry-custom-statusline && rm -rf "$T"
manifest: skills/data/custom-statusline/SKILL.md
source content

Custom Status Line Setup

Sets up a comprehensive Claude Code status line with Nerd Font icons only (no emojis), ANSI colors, real-time usage tracking, git integration, and system monitoring.

Quick Start: Interactive Configuration

Run the

/custom-statusline
command to interactively configure your status line. It will ask which elements you want:

  • Current directory - Working directory path
  • Nerd Font icons - All icons (os, git, clock, usage) - all or nothing
  • Git branch & status - Branch, dirty/clean, ahead/behind, stash
  • Model name - Current Claude model
  • Session duration - Time elapsed in session
  • API usage (5h/7d) - Claude API usage percentages
  • Context % till compact - Context window usage

The command will save your preferences to

~/.claude/statusline-config.json
and configure settings to use the plugin's script.

Features

Git Integration

  • Clean/dirty status indicator
  • Modified file count
  • Ahead/behind tracking
  • Stash count display
  • Branch name with color coding

Usage Tracking

  • 5-hour and 7-day usage percentages from Anthropic API
  • Color-coded thresholds (green <50%, yellow 50-80%, red >80%)
  • Cached for 60 seconds to avoid API spam

Context Display

  • Session context window percentage
  • Color-coded by usage level

Cost & Duration

  • Total duration in minutes

How It Works

  • Script: Stays in the plugin folder at
    ${CLAUDE_PLUGIN_ROOT}/scripts/statusline.sh
  • Config: Saved to
    ~/.claude/statusline-config.json
    (persists across plugin updates)
  • Settings: Points to the plugin's script via dynamic lookup

Manual Setup

If you prefer manual setup instead of the command:

Step 1: Create Config File

Create

~/.claude/statusline-config.json
:

{
  "show_cwd": true,
  "show_icons": true,
  "show_git": true,
  "show_model": true,
  "show_duration": true,
  "show_usage": true,
  "show_context": true
}

Step 2: Update Claude Settings

Update

~/.claude/settings.json
:

{
  "statusLine": {
    "type": "command",
    "command": "bash -c \"$(find ~/.claude/plugins/cache/zeul-claude-plugins/custom-statusline -name statusline.sh 2>/dev/null | head -1)\""
  }
}

Step 3: Test Status Line

echo '{}' | bash -c "$(find ~/.claude/plugins/cache/zeul-claude-plugins/custom-statusline -name statusline.sh | head -1)"

Requirements

Essential

  • Nerd Font installed - For icons (JetBrains Mono, Hack, FiraCode, etc.)
  • jq installed - For JSON parsing (
    brew install jq
    )
  • Git installed - For git features
  • curl - For API usage fetching

Platform-Specific (macOS)

  • security - Keychain access for API token

Troubleshooting

Icons not showing: Install a Nerd Font and configure your terminal to use it

No git branch: Script shows nothing when not in a git repository

Usage shows 0%: API call failed. Check:

  • Keychain has "Claude Code-credentials"
  • Internet connection active
  • API endpoint accessible

Slow status line: Increase

cache_max_age
in the script to reduce API calls

Reconfigure: Run

/custom-statusline
again to change your preferences