From claude-hud
Interactively configures Claude HUD display options including layout, presets, language, and elements via guided questions, saving to config.json while preserving advanced overrides.
npx claudepluginhub jarrodwatts/claude-hud --plugin claude-hud/configureInteractively toggle enabled/disabled state of existing hookify rules in .claude/hookify files, updating them and confirming changes.
/configureInteractively lists all Hookify rules, prompts to select one, then enables, disables, or deletes it while updating the rule file immediately.
/configureInteractively toggle enable/disable state of Hookify rules in global (~/.claude) and project (.claude/) directories via multi-select interface.
/configureSets up Rune plugin: installs Python environment, collects Vault endpoint/token/TLS details, generates config, registers MCP servers. Quick update mode for vault fields via --vault-token or --vault-endpoint.
/configureInteractively toggle hookify rules on or off: finds .claude/hookify.*.local.md files, lists rules with states, asks user selections, updates frontmatter enabled field, confirms changes.
/configureInteractively toggle enabled/disabled state of existing hookify rules in .claude/hookify files, updating them and confirming changes.
FIRST: Use the Read tool to load ~/.claude/plugins/claude-hud/config.json if it exists.
Store current values and note whether config exists (determines which flow to use).
These are always enabled and NOT configurable:
[Opus]████░░░░░░ 45%Advanced settings such as colors.*, pathLevels, display.usageThreshold, and
display.environmentThreshold are preserved when saving but are not edited by this guided flow.
Questions: Layout → Preset → Language → Turn Off → Turn On → Custom Line
Questions: Turn Off → Turn On → Git Style → Layout/Reset → Language → Custom Line (6 questions max)
Save as language: "en" or language: "zh".
Note: If preset has all items ON (Full), Q5 shows "Nothing to enable - Full preset has everything!" If preset has all items OFF (Minimal), Q4 shows "Nothing to disable - Minimal preset is already minimal!"
If user chooses "Enter custom text", use AskUserQuestion to get their text. Save as display.customLine in config.
If more than 4 items ON, show Activity items (Tools, Agents, Todos, Project, Git) first. Info items (Counts, Tokens, Usage, Speed, Duration) can be turned off via "Reset to Minimal" in Q4.
Skip Q3 if Git is OFF - proceed to Q4.
If user chooses "Keep current", leave language unchanged.
If user chooses "English (Recommended)", save language: "en".
If user chooses "中文", save language: "zh".
If user chooses "Enter custom text", use AskUserQuestion to get their text. Save as display.customLine in config.
If user chooses "Remove", set display.customLine to "" in config.
Full (everything ON):
Essential (activity + git):
Minimal (core only — this is the default):
| Option | Config |
|---|---|
| Expanded | lineLayout: "expanded", showSeparators: false |
| Compact | lineLayout: "compact", showSeparators: false |
| Compact + Separators | lineLayout: "compact", showSeparators: true |
| Option | Config |
|---|---|
| English (Recommended) | language: "en" |
| 中文 | language: "zh" |
| Option | Config |
|---|---|
| Branch only | gitStatus: { enabled: true, showDirty: false, showAheadBehind: false, showFileStats: false } |
| Branch + dirty | gitStatus: { enabled: true, showDirty: true, showAheadBehind: false, showFileStats: false } |
| Full details | gitStatus: { enabled: true, showDirty: true, showAheadBehind: true, showFileStats: false } |
| File stats | gitStatus: { enabled: true, showDirty: true, showAheadBehind: false, showFileStats: true } |
| Element | Config Key |
|---|---|
| Tools activity | display.showTools |
| Agents status | display.showAgents |
| Todo progress | display.showTodos |
| Project name | display.showProject |
| Git status | gitStatus.enabled |
| Config counts | display.showConfigCounts |
| Token breakdown | display.showTokenBreakdown |
| Output speed | display.showSpeed |
| Usage limits | display.showUsage |
| Usage bar style | display.usageBarEnabled |
| Session name | display.showSessionName |
| Session duration | display.showDuration |
| Session tokens | display.showSessionTokens |
| Custom line | display.customLine |
Always true (not configurable):
display.showModel: truedisplay.showContextBar: true| Option | Config |
|---|---|
| Bar style | display.usageBarEnabled: true — Shows ██░░ 25% (1h 30m / 5h) |
| Text style | display.usageBarEnabled: false — Shows 5h: 25% (1h 30m) |
Note: Usage style only applies when display.showUsage: true. When 7d usage >= 80%, it also shows with the same style.
GUARDS - Do NOT write config if:
Show preview before saving:
Layout: Compact → Expanded
Language: English → 中文
Git style: Branch + dirty
Changes:
- Usage limits: OFF → ON
- Config counts: ON → OFF
[Opus | Pro] │ my-project git:(main*)
Context ████░░░░░ 45% │ Usage ██░░░░░░░░ 25% (1h 30m / 5h)
◐ Edit: file.ts | ✓ Read ×3
▸ Fix auth bug (2/5)
Preview of HUD (Compact layout):
[Opus | Pro] ████░░░░░ 45% | my-project git:(main*) | 5h: 25% | ⏱️ 5m
◐ Edit: file.ts | ✓ Read ×3
▸ Fix auth bug (2/5)
Write to ~/.claude/plugins/claude-hud/config.json.
Merge with existing config, preserving:
pathLevels (not in configure flow)display.usageThreshold (advanced config)display.environmentThreshold (advanced config)colors (advanced manual palette overrides)Migration note: Old configs with layout: "default" or layout: "separators" are automatically migrated to the new lineLayout + showSeparators format on load.
Say: "Configuration saved! The HUD will reflect your changes immediately."