claude-hud
A Claude Code plugin that shows what's happening - context usage, active tools, running agents, and todo progress
- 28.8k estrellas
- 1.3k forks
- 2 issues abiertos
- Lenguaje: JavaScript
- Licencia: MIT
- actualizado
Instalación
/plugin marketplace add jarrodwatts/claude-hud
/plugin install claude-hud- Inside Claude Code, add the marketplace and install the plugin with the commands above.
- Follow any post-install configuration from the README.
- Restart the session if commands or hooks do not show up immediately.
Nota editorial
Claude HUD is a Claude Code plugin that renders a persistent status display directly in the terminal, sitting below the input prompt and updating roughly every 300 milliseconds. It hooks into Claude Code's native statusline API and parses the session transcript JSONL to surface four categories of live information: a context window bar that shifts from green to yellow to red as token usage climbs, a usage rate-limit bar with a remaining-time estimate, tool activity lines showing file reads, edits, and grep operations as they execute, and subagent tracking that names each running agent alongside elapsed time. A todo-progress line shows task completion counts in real-time. Installation runs entirely inside Claude Code via three slash commands and requires no separate terminal multiplexer. The plugin reads native token counts reported by Claude Code rather than estimating them, and it correctly scales for sessions with up to one million tokens of context. Configuration offers Full, Essential, and Minimal presets, with optional Simplified Chinese labels and advanced overrides available by editing a JSON file directly. Developers running multi-agent Claude Code workflows benefit most from the visibility into parallel subagent activity.
2 items en este repositorio
Resumen de Plugins
Claude HUD
A Claude Code plugin that shows what's happening: context usage, rate limits, active tools, running agents, and todo progress, always visible below your input.

🌐 English | 中文文档
Install
Inside Claude Code, run:
/plugin marketplace add jarrodwatts/claude-hud
/plugin install claude-hud
/reload-plugins
/claude-hud:setup/claude-hud:setup points your status line at the HUD. Claude Code reloads settings on its own, so the HUD appears right away. To customize it, ask Claude or run /claude-hud:configure.
Prefer the terminal?
claude plugin marketplace add jarrodwatts/claude-hud
claude plugin install claude-hud@claude-hudThen run /reload-plugins and /claude-hud:setup inside a session.
Windows: setup says no JavaScript runtime was found
Install Node.js LTS (winget install OpenJS.NodeJS.LTS), restart your shell, and run /claude-hud:setup again.
Updates: Claude Code doesn't auto-update third-party plugins by default. To turn it on, run /plugin, open Marketplaces, select claude-hud, and choose Enable auto-update. If that option isn't there, or updates don't arrive, update by hand from the terminal:
claude plugin marketplace update claude-hud
claude plugin update claude-hud@claude-hudThen run /reload-plugins in any open session. You don't need to run setup again.
What You See
The default is two lines:
[Opus] │ my-project git:(main*)
Context █████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (resets in 1h 30m)Line 1: model, a provider label when one is detected (
Bedrock,Vertex,MiniMax), project path, and git branch.Line 2: context used (green, then yellow, then red as it fills) and your subscriber rate limits.
Optional lines, which you turn on with /claude-hud:configure:
◐ Edit: auth.ts | ✓ Read ×3 | ✓ Grep ×2 ← tools
◐ explore [haiku]: Finding auth code (2m 15s) ← agents
▸ Fix authentication bug (2/5) ← todosHow It Works
Claude HUD is a status line command. Claude Code runs it with session data on stdin (model, context window, cost, rate limits, prompt cache) and shows what it prints. Some optional elements, such as the tools, agents, and todos lines, also read the session transcript. It needs no separate window or tmux and works in any terminal.
Configuration
/claude-hud:configureThe guided flow covers layout, activity lines, session info, usage, git, language, and a custom line. It previews the changes before saving and keeps every setting it doesn't ask about.
Everything else lives in ~/.claude/plugins/claude-hud/config.json (or under $CLAUDE_CONFIG_DIR). Invalid values fall back to their defaults.
If several CLAUDE_CONFIG_DIRs share one plugins/ directory, put per-directory settings in $CLAUDE_CONFIG_DIR/claude-hud.json. It uses the same shape, only needs the keys it changes, and is layered on top of the shared config:
{ "display": { "customLine": "Work Team" } }Labels are available in English (the default), Simplified Chinese (zh-Hans, alias zh), and Traditional Chinese (zh-Hant, alias zh-TW).
Options
| Option | Type | Default | Description |
|---|---|---|---|
language | en | zh | zh-Hans | zh-Hant | zh-TW | en | HUD label language. Use zh or zh-Hans for Simplified Chinese and zh-Hant or zh-TW for Traditional Chinese. |
lineLayout | string | expanded | Layout: expanded (multi-line) or compact (single line) |
showSeparators | boolean | false | In compact layout, draw a rule between the session line and the activity lines |
pathLevels | 1-3 | full | 1 | Directory levels to show in project path, or full to show the entire absolute path |
maxWidth | number | null | null | Optional fallback width used only when terminal width detection fails completely |
forceMaxWidth | boolean | false | Always use maxWidth when it is set, even if terminal width detection returns a smaller value |
elementOrder | string[] | ["project","addedDirs","context","usage","promptCache","cacheHitRate","memory","environment","tools","skills","mcp","agents","todos","sessionTime"] | Expanded-mode element order. Omit entries to hide them in expanded mode. Existing configs keep their explicit order until updated. sessionTokens isn't in the default order: add it to place the display.showSessionTokens summary like any other element, for example in a display.mergeGroups group with project. Left out, it stays on its own last line. |
projectLineOrder | string[] | [] | Optional leading order of segments within the first line, in both layouts. Visibility stays with the display.show* flags, and omitted segments retain their existing renderer order. model covers provider + model + effort (plus the context bar in compact mode); project covers path + added dirs + git as one segment. Example: ["project","model"] puts the project/git block before the model badge. |
display.mergeGroups | string[][] | [["context","usage"]] | Expanded-mode groups that should share a line when adjacent. Set [] to disable merged lines. |
display.rightAlign | string[] | [] | Starts a right-aligned suffix at the first listed element in a merged row, preserving elementOrder and padding the gap with spaces. Requires the anchor to be in a display.mergeGroups group that actually renders on one line. Ignored when the terminal width is unknown, the anchor is first, or there is no room for padding. Example: ["context"] with a ["project","context","usage"] group keeps project/git left and pins context + usage right. |
gitStatus.enabled | boolean | true | Show git branch in HUD |
gitStatus.showDirty | boolean | true | Show * for uncommitted changes |
gitStatus.showAheadBehind | boolean | false | Show ↑N ↓N for ahead/behind remote |
gitStatus.pushWarningThreshold | number | 0 | Color the ahead count with the warning color at or above this unpushed-commit count (0 disables it) |
gitStatus.pushCriticalThreshold | number | 0 | Color the ahead count with the critical color at or above this unpushed-commit count (0 disables it) |
gitStatus.showFileStats | boolean | false | Show file change counts !M +A ✘D ?U |
gitStatus.showWorktree | boolean | false | In a linked git worktree, show its name after the branch, e.g. git:(feat/x) ⎇ feat-x |
gitStatus.branchOverflow | truncate | wrap | truncate | Keep current truncation behavior or let the git block wrap onto its own line boundary when possible |
jjStatus.enabled | boolean | false | Opt in to jj (Jujutsu) status. When enabled and a real .jj directory is found, jj is used instead of git for that repo — never both |
jjStatus.showDirty | boolean | true | Show * when the working-copy commit differs from its parent |
jjStatus.showConflicts | boolean | true | Show a !conflict marker when the working-copy commit has an unresolved conflict |
display.showModel | boolean | true | Show model name [Opus] |
display.showProject | boolean | true | Show the project path |
display.modelSource | stdin | auto | transcript | stdin | Controls which source the model name comes from. stdin preserves the default behavior and always uses what Claude Code reports. auto opts into proxy redirect detection by using transcript models only for non-Claude models. transcript always uses the model from the API response. Transcript model values are terminal-sanitized and capped at 80 characters |
display.modelFormat | full | compact | short | full | compact drops a context-window suffix such as (1M context); short also drops a leading Claude |
display.modelOverride | string | "" | Show this text instead of the model name (80 characters max) |
display.showProvider | boolean | false | Show the provider label before the model name, e.g. [Bedrock | Opus 4.6]. Useful when a custom proxy serves identically-named models from different providers. When off, an auto-detected provider still trails the model as before |
display.providerName | string | "" | Explicit provider label used with display.showProvider, e.g. for a custom proxy that can't be auto-detected. Falls back to the auto-detected provider (Bedrock/Vertex/MiniMax/Enterprise) when empty; capped at 40 chars |
display.showAddedDirs | boolean | true | Show extra workspace directories from /add-dir (e.g. +sparkle +lib-foo); empty array renders nothing. In both layouts at most 5 dirs render (overflow shown as +N more) and basenames are truncated to 24 chars with … |
display.addedDirsLayout | inline | line | inline | inline puts dirs next to the project name with a +name prefix per dir; line renders them on a separate Added dirs: name1, name2 line (no + prefix, comma-separated) |
display.showContextBar | boolean | true | Show visual context bar ████░░░░░░ |
display.contextValue | percent | tokens | remaining | both | percent | Context display format (45%, 45k/200k, 55% remaining, or 45% (45k/200k)) |
display.autoCompactWindow | number | null | null | When set to a positive number such as 200000, compute the context percentage against this auto-compact window instead of the full model context window, matching the /context figure. Leave unset or null to preserve default full-window behavior. |
Lo que la gente pregunta sobre claude-hud
¿Qué es jarrodwatts/claude-hud?
jarrodwatts/claude-hud es plugins para el ecosistema de Claude AI. A Claude Code plugin that shows what's happening - context usage, active tools, running agents, and todo progress Tiene 28.8k estrellas en GitHub y su última actualización registrada es del 2026-10-21.
¿Cómo se instala claude-hud?
Puedes instalar claude-hud clonando el repositorio (https://github.com/jarrodwatts/claude-hud) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar jarrodwatts/claude-hud?
Nuestro agente de seguridad ha analizado jarrodwatts/claude-hud y le ha asignado un Trust Score de 100/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene jarrodwatts/claude-hud?
jarrodwatts/claude-hud es mantenido por jarrodwatts. La última actividad registrada en GitHub es del 2026-10-21, con 2 issues abiertos.
¿Hay alternativas a claude-hud?
Sí. En ClaudeWave puedes explorar plugins similares en /categories/plugins, ordenados por popularidad o actividad reciente.
¿Mantienes este repo? Muestra su Trust Score en tu README
La insignia muestra el Trust Score y el veredicto actuales de este repositorio y enlaza a esta página. Sigue los datos del catálogo: nadie puede comprar ni editar la puntuación que enseña.
[](https://claudewave.com/en/repo/jarrodwatts-claude-hud)<a href="https://claudewave.com/en/repo/jarrodwatts-claude-hud"><img src="https://claudewave.com/api/badge/jarrodwatts-claude-hud" alt="ClaudeWave Trust Score for jarrodwatts/claude-hud" width="320" height="64"></a>