claude-dashboard

May 25, 2026 · View on GitHub

License Stars

Comprehensive status line plugin for Claude Code — unified usage monitoring across Claude, Codex, Gemini, and z.ai CLIs, with context, rate limits, cost tracking, and a modular widget system.

Demo

Demo

Installation

Requirements: Claude Code v1.0.80+ / Node.js 18+

From Plugin Marketplace

/plugin marketplace add uppinote20/claude-dashboard
/plugin install claude-dashboard
/claude-dashboard:setup

Manual Installation

git clone https://github.com/uppinote20/claude-dashboard.git ~/.claude/plugins/claude-dashboard
/claude-dashboard:setup

Display Modes

Compact (1 line) - Default:

Compact

Model, context progress bar, cost, rate limits (5h/7d/7d-Sonnet) or z.ai usage (mutually exclusive by provider)

Normal (2 lines):

Normal

Adds project info, session ID, session duration, burn rate, todo progress

Detailed (6 lines):

Detailed

Adds depletion time, config counts, tool/agent status, cache hit, performance badge, token breakdown, forecast, budget, Codex/Gemini usage

Multi-provider support: z.ai/ZHIPU, Codex, Gemini auto-detected when installed.

Widgets

CategoryWidgetDescription
CoremodelModel name with emoji, effort level for Opus/Sonnet (X/H/M/L), fast mode for Opus (↯)
contextProgress bar, percentage, tokens (🟢 0-50% / 🟡 51-80% / 🔴 81-100%)
contextBarProgress bar only (sub-widget of context)
contextPercentagePercentage only (sub-widget of context)
contextUsageToken count only, e.g. 42K/200K (sub-widget of context)
costSession cost in USD
projectInfoDirectory + git branch (clickable OSC8 link) + ahead/behind (↑↓), subpath from project_dir, worktree indicator (🌳)
Rate LimitsrateLimit5h5-hour rate limit with reset countdown
rateLimit7d7-day rate limit (Pro and Max)
rateLimit7dSonnet7-day Sonnet limit (Max only)
SessionsessionIdSession ID (short 8-char)
sessionIdFullSession ID (full UUID)
sessionNameSession name from /rename command
sessionDurationSession duration
lastPromptLast user prompt with timestamp
configCountsCLAUDE.md, AGENTS.md, rules, MCPs, hooks, +Dirs
ActivitytoolActivityRunning/completed tools with targets (e.g., Read(app.ts))
agentStatusSubagent progress
todoProgressTodo completion rate
AnalyticsburnRateToken consumption per minute
cacheHitCache hit rate percentage
depletionTimeEstimated time to rate limit (approx)¹
Multi-CLIcodexUsageOpenAI Codex CLI usage (auto-hide if not installed)²
geminiUsageGoogle Gemini CLI - current model (auto-hide if not installed)³
geminiUsageAllGoogle Gemini CLI - all models (auto-hide if not installed)³
zaiUsagez.ai/ZHIPU usage (auto-hide if not using z.ai)⁴
InsightstokenBreakdownInput/output/cache write/read token breakdown
performanceComposite efficiency badge (cache hit + output ratio)
forecastEstimated hourly cost based on session rate
budgetDaily spending vs configured budget limit⁵
tokenSpeedOutput token generation speed (tok/s)
todayCostTotal spending across all sessions today
StatuspeakHoursPeak hours indicator with countdown (based on PeakClaude)⁶
tagStatusCommits ahead of matched git tags (default pattern v*, customize via tagPatterns)⁷
slashCommandActive slash command for the current turn (🎯), cleared by next plain-text message
agentModeSession agent identity: 👤 custom agent (via /agent <name>) or 🤖 subagent type
InfolinesChangedUncommitted lines added/removed, including untracked files (+N -N)
outputStyleCurrent output style (hidden when "default")
versionClaude Code version display
vimModeVim mode (NORMAL/INSERT), auto-hides when vim disabled
apiDurationAPI time as % of total session time

¹ Assumes all utilization came from this session; improves as session runs longer. ² Auto-hides if ~/.codex/auth.json not found. ³ Auto-hides if ~/.gemini/oauth_creds.json not found. ⁴ Auto-hides if not detected via ANTHROPIC_BASE_URL. ⁵ Requires "dailyBudget" in config. ⁶ Peak = weekdays 5-11 AM PT; shows countdown to next transition. ⁷ Uses tagPatterns config (default ["v*"]); auto-hides when no pattern matches a reachable tag.

i18n: English and Korean supported (auto-detect or set via setup).

Configuration

# Preset modes
/claude-dashboard:setup compact             # 1 line (default)
/claude-dashboard:setup normal en pro       # 2 lines, English, Pro plan
/claude-dashboard:setup detailed ko max     # 6 lines, Korean, Max plan

# Custom mode: control widget order and line composition
# Format: "widget1,widget2,...|widget3,widget4,..." (| separates lines)
/claude-dashboard:setup custom auto max "model,context,cost|projectInfo,todoProgress"

Plan differences:

FeatureMaxPro
5h rate limit + countdown
7d all models
Advanced Configuration

Interactive Mode: Run /claude-dashboard:setup without arguments. Best for preset selection; for full widget control, use Direct Mode or edit the JSON file directly.

Display Mode Presets (zaiUsage and rateLimit* are mutually exclusive based on provider):

ModeLinesWidgets
compact1model, context, cost, rateLimit5h/7d/7dSonnet, zaiUsage
normal2+ projectInfo, sessionId, sessionDuration, burnRate, todoProgress
detailed6+ depletionTime, configCounts, toolActivity, agentStatus, cacheHit, performance, tokenBreakdown, forecast, budget, codexUsage, geminiUsage, linesChanged, outputStyle, version, peakHours, lastPrompt, vimMode, apiDuration, tagStatus

Configuration file (~/.claude/claude-dashboard.local.json):

{
  "language": "auto",
  "plan": "max",
  "displayMode": "custom",
  "lines": [
    ["model", "context", "cost", "rateLimit5h"],
    ["projectInfo", "todoProgress"]
  ],
  "theme": "default",
  "separator": "pipe",
  "dailyBudget": 15,
  "disabledWidgets": [],
  "cache": { "ttlSeconds": 60 }
}

Or use preset shorthand for quick configuration:

{
  "preset": "MC$R|BDO",
  "theme": "tokyoNight",
  "separator": "dot"
}

Themes: default (pastel) / minimal (monochrome) / catppuccin / catppuccinLatte (light-mode) / dracula / gruvbox / nord / tokyoNight / solarized

Separators: pipe (│, default) / space / dot (·) / arrow (›)

Preset Shortcuts: Quick layout with single characters — "preset": "MC$R|BDO" (M=model, C=context, $=cost, R=rateLimit5h, etc.)

Budget Tracking: Set "dailyBudget": 15 to track daily spending. Shows ⚠️ at 80% and 🚨 at 95%.

Tag Status: Customize tagStatus patterns via "tagPatterns": ["v*", "release-*"]. Default is ["v*"]. The widget auto-hides when no pattern matches a reachable tag.

Widget Toggle: Add widget IDs to disabledWidgets to hide them from any display mode.

Color Legend: 🟢 0-50% Safe / 🟡 51-80% Warning / 🔴 81-100% Critical

Commands

/claude-dashboard:setup

Configure the status line display mode, language, and plan. See Configuration.

/claude-dashboard:check-usage

Check usage limits for all AI CLIs (Claude, Codex, Gemini, z.ai) at once and get a recommendation for which CLI has the most available capacity.

/claude-dashboard:check-usage              # Interactive output with colors
/claude-dashboard:check-usage --json       # JSON output for scripting
/claude-dashboard:check-usage --lang ko    # Specify language

check-usage

/claude-dashboard:setup-alias

Add a check-ai shell alias to quickly check all AI CLI usage from your terminal. Supports macOS/Linux (zsh/bash) and Windows (PowerShell).

/claude-dashboard:setup-alias

After setup:

check-ai          # Pretty output
check-ai --json   # JSON output for scripting

/claude-dashboard:update

Update the plugin and refresh the statusLine path in settings. Run after updating via git pull or marketplace.

/claude-dashboard:update

Troubleshooting

Status line not showing
  1. Check if plugin is installed: /plugin list
  2. Verify settings.json has statusLine config
  3. Restart Claude Code
Rate limits showing ⚠️
  • API token may be expired - re-login to Claude Code
  • Network issue - check internet connection
  • API rate limited - wait 60 seconds for cache refresh
Wrong language

Run setup with explicit language:

/claude-dashboard:setup normal ko  # Korean
/claude-dashboard:setup normal en  # English
Cache issues

API response cache is stored in ~/.cache/claude-dashboard/. To clear:

rm -rf ~/.cache/claude-dashboard/

Cache files are automatically cleaned up after 1 hour.

Development

npm install && npm run build

See CONTRIBUTING.md for details.

Star History

Star History Chart

☕ Support

If you find this plugin useful, support development:

Buy Me a Coffee at ko-fi.com Buy Me A Coffee

License

MIT