claude-hud-statusline
reason-machines/trending-skills
Real-time HUD statusline for Claude Code showing context usage, active tools, agents, and todo progress.
What is claude-hud-statusline?
Claude HUD is a Claude Code plugin that adds a persistent terminal statusline displaying context window health, active tool calls, running subagents, todo progress, and usage limits. Use it to monitor your Claude session state and resource consumption at a glance while working.
- Display context window usage with color-coded visual bar (green → yellow → red)
- Show live tool activity including file reads, edits, and searches as they happen
- Track running subagents and their current tasks
- Monitor todo task completion progress in real-time
- Display Claude subscriber rate limit consumption and remaining quota
- Show git branch status, dirty state, and ahead/behind remote tracking
How to install claude-hud-statusline
npx skills add https://github.com/reason-machines/trending-skills --skill claude-hud-statusline- Claude Code v1.0.80 or later
- Node.js 18+ or Bun runtime
- For Linux: may need to set TMPDIR environment variable to avoid cross-device link errors
- For Windows: Node.js LTS via winget or manual installation if not present
How to use claude-hud-statusline
- 1.Run `/plugin marketplace add jarrodwatts/claude-hud` in Claude Code to add the marketplace
- 2.Run `/plugin install claude-hud` to install the plugin
- 3.Run `/claude-hud:setup` to configure the statusline interactively
- 4.Restart Claude Code completely (quit and re-launch) to load the new statusline configuration
- 5.Optionally edit `~/.claude/plugins/claude-hud/config.json` for advanced customization of layout, colors, and display elements
Use cases
- Monitor context window fill during long coding sessions to avoid hitting limits
- Track tool usage patterns to understand which operations consume the most tokens
- Watch subagent progress when delegating complex tasks to understand completion status
- Maintain awareness of 7-day usage quota to plan work around rate limits
- Quickly check git branch and uncommitted changes without leaving Claude Code
- Claude Code users managing large projects with complex token budgets
- Developers using subagents who need visibility into parallel task progress
- Claude subscribers monitoring rate limit consumption across sessions
- Teams coordinating work across multiple Claude Code instances
- Developers optimizing token usage for cost-sensitive applications
claude-hud-statusline FAQ
It scales with any reported context window size including 1M-context sessions. Token data comes directly from Claude Code, not estimated.
AWS Bedrock users see a 'Bedrock' label instead of usage limits; usage is managed in the AWS console. API-key-only setups won't display subscriber rate limit information.
Yes. Use `/claude-hud:configure` for guided presets (Full, Essential, Minimal) or manually edit the config JSON to control layout, element order, colors, and which features display.
Fully restart Claude Code (quit the app completely, not just close the window). On macOS, ensure the app is fully quit. Check for JSON syntax errors in the config file.
Claude HUD updates approximately every 300ms to reflect current context usage, active tools, running agents, and todo progress.
Full instructions (SKILL.md)
Source of truth, from reason-machines/trending-skills.
name: claude-hud-statusline description: A Claude Code plugin that displays a real-time HUD showing context usage, active tools, running agents, and todo progress in your terminal statusline. triggers:
- install claude hud plugin
- show context usage in claude code
- add statusline to claude code
- track tool activity in claude
- monitor agent progress claude code
- configure claude hud display
- claude code context window indicator
- set up claude hud statusline
Claude HUD
Skill by ara.so — Daily 2026 Skills collection.
Claude HUD is a Claude Code plugin that adds a persistent statusline to your terminal showing real-time context window usage, active tool calls, running subagents, and todo progress — always visible below your input prompt.
What It Does
| Feature | Description |
|---|---|
| Context health | Visual bar showing how full your context window is (green → yellow → red) |
| Tool activity | Live display of file reads, edits, and searches as they happen |
| Agent tracking | Shows which subagents are running and what they're doing |
| Todo progress | Real-time task completion tracking |
| Usage limits | Claude subscriber rate limit consumption |
| Git status | Current branch, dirty state, ahead/behind remote |
Requirements
- Claude Code v1.0.80+
- Node.js 18+ or Bun
Installation
Run these commands inside a Claude Code session:
Step 1: Add the marketplace
/plugin marketplace add jarrodwatts/claude-hud
Step 2: Install the plugin
/plugin install claude-hud
Linux users: If you get
EXDEV: cross-device link not permitted, set TMPDIR first:mkdir -p ~/.cache/tmp && TMPDIR=~/.cache/tmp claude
Step 3: Configure the statusline
/claude-hud:setup
Windows users: If setup reports no JavaScript runtime, install Node.js LTS first:
winget install OpenJS.NodeJS.LTS
Step 4: Restart Claude Code to load the new statusLine config.
What You See
Default 2-line layout
[Opus] │ my-project git:(main*)
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h)
With optional lines enabled
[Opus] │ my-project git:(main*)
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h)
◐ Edit: auth.ts | ✓ Read ×3 | ✓ Grep ×2
◐ explore [haiku]: Finding auth code (2m 15s)
▸ Fix authentication bug (2/5)
Configuration
Interactive configuration (recommended)
/claude-hud:configure
This opens a guided flow with preset options:
| Preset | Shows |
|---|---|
| Full | Everything — tools, agents, todos, git, usage, duration |
| Essential | Activity lines + git, minimal clutter |
| Minimal | Model name and context bar only |
Manual configuration
Edit ~/.claude/plugins/claude-hud/config.json directly:
{
"lineLayout": "expanded",
"pathLevels": 2,
"elementOrder": ["project", "context", "usage", "tools", "agents", "todos"],
"gitStatus": {
"enabled": true,
"showDirty": true,
"showAheadBehind": true,
"showFileStats": false
},
"display": {
"showModel": true,
"showContextBar": true,
"contextValue": "percent",
"showUsage": true,
"usageBarEnabled": true,
"showTools": true,
"showAgents": true,
"showTodos": true,
"showDuration": false,
"showSpeed": false,
"showConfigCounts": false,
"showMemoryUsage": false,
"showSessionName": false,
"showClaudeCodeVersion": false,
"sevenDayThreshold": 80,
"showTokenBreakdown": true
},
"colors": {
"context": "green",
"usage": "brightBlue",
"warning": "yellow",
"usageWarning": "brightMagenta",
"critical": "red",
"model": "cyan",
"project": "yellow",
"git": "magenta",
"gitBranch": "cyan",
"label": "dim",
"custom": "208"
}
}
Key Configuration Options
Layout
{
"lineLayout": "expanded", // "expanded" (multi-line) or "compact" (single line)
"pathLevels": 1 // 1-3 directory levels in project path
}
Path level examples:
1→[Opus] │ my-project git:(main)2→[Opus] │ apps/my-project git:(main)3→[Opus] │ dev/apps/my-project git:(main)
Context display formats
{
"display": {
"contextValue": "percent" // "45%"
// "contextValue": "tokens" // "45k/200k"
// "contextValue": "remaining" // "55% remaining"
// "contextValue": "both" // "45% (45k/200k)"
}
}
Element ordering (expanded layout)
{
"elementOrder": ["project", "context", "usage", "memory", "environment", "tools", "agents", "todos"]
}
Omit any entry from the array to hide it entirely.
Git status options
{
"gitStatus": {
"enabled": true,
"showDirty": true, // "main*" for uncommitted changes
"showAheadBehind": true, // "main ↑2 ↓1"
"showFileStats": true // "main* !3 +1 ?2" (modified/added/deleted/untracked)
}
}
Colors
Supported values: named colors (dim, red, green, yellow, magenta, cyan, brightBlue, brightMagenta), 256-color numbers (0-255), or hex (#rrggbb).
{
"colors": {
"context": "#00FF88",
"model": "208",
"project": "#FF6600"
}
}
How It Works
Claude HUD uses Claude Code's native statusline API — no separate window, no tmux needed:
Claude Code → stdin JSON → claude-hud → stdout → terminal statusline
↘ transcript JSONL (tools, agents, todos parsed live)
- Token data comes directly from Claude Code (not estimated)
- Scales with reported context window size including 1M-context sessions
- Parses transcript for tool/agent activity
- Updates every ~300ms
Common Patterns
Minimal setup for focused work
{
"lineLayout": "compact",
"display": {
"showModel": true,
"showContextBar": true,
"contextValue": "percent",
"showUsage": false,
"showTools": false,
"showAgents": false,
"showTodos": false
}
}
Full monitoring setup
{
"lineLayout": "expanded",
"pathLevels": 2,
"gitStatus": {
"enabled": true,
"showDirty": true,
"showAheadBehind": true,
"showFileStats": true
},
"display": {
"showTools": true,
"showAgents": true,
"showTodos": true,
"showDuration": true,
"showMemoryUsage": true,
"showConfigCounts": true,
"contextValue": "both",
"showTokenBreakdown": true
}
}
Always show 7-day usage
{
"display": {
"showUsage": true,
"sevenDayThreshold": 0
}
}
Output: Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h) | ██████████ 85% (2d / 7d)
Troubleshooting
HUD not appearing after setup
- Fully restart Claude Code (quit and re-run
claudein terminal) - On macOS, ensure you've fully quit the app, not just closed the window
Config not applying
- Check for JSON syntax errors — invalid JSON silently falls back to defaults
- Validate:
cat ~/.claude/plugins/claude-hud/config.json | node -e "JSON.parse(require('fs').readFileSync('/dev/stdin','utf8'))" - Delete config and run
/claude-hud:configureto regenerate
Git status missing
- Verify you're in a git repository (
git status) - Ensure
gitStatus.enabledis notfalsein config
Tool/agent/todo lines not showing
- These are hidden by default — enable with
showTools,showAgents,showTodos - Lines only render when there's active activity to display
Usage limits not showing
- Requires a Claude subscriber account (not API key only)
- AWS Bedrock users see
Bedrocklabel; usage is managed in AWS console instead - Usage data may be empty until after the first model response in a new session
- Older Claude Code versions that don't emit
rate_limitswon't show subscriber usage
Linux cross-device error on install
mkdir -p ~/.cache/tmp && TMPDIR=~/.cache/tmp claude
# Then run /plugin install claude-hud inside that session
Windows: no JavaScript runtime found
winget install OpenJS.NodeJS.LTS
# Restart shell, then run /claude-hud:setup again
Plugin Commands Reference
| Command | Description |
|---|---|
/plugin marketplace add jarrodwatts/claude-hud | Register the plugin source |
/plugin install claude-hud | Install the plugin |
/claude-hud:setup | Initial setup wizard, writes statusLine config |
/claude-hud:configure | Interactive configuration with preview |
Config File Location
~/.claude/plugins/claude-hud/config.json
Related skills
More from reason-machines/trending-skills and the wider catalog.

clui-cc-claude-overlay
Floating macOS overlay for Claude Code with multi-tab sessions, voice input, and permission approval UI.

cmux-terminal-multiplexer
AI-native terminal multiplexer with browser automation and agent team coordination for Claude Code

copaw-ai-assistant
Personal AI assistant framework connecting to multiple chat platforms with custom skills and local LLM support.

corridorkey-green-screen
AI-powered green screen keyer that unmixes foreground colors and generates clean linear alpha channels using neural networks

crucix-intelligence-dashboard
Self-hosted intelligence dashboard aggregating 27 OSINT sources with LLM analysis and Telegram/Discord alerts.

daily-stock-analysis
LLM-powered stock analysis for A-shares, HK, and US markets with AI dashboards and multi-channel alerts via GitHub Actions.