Slash Command27.9k repo starsupdated 5d ago
configure
The configure slash command enables users to customize their Claude HUD display by selecting layout styles (expanded, compact, or compact with separators), choosing preset configurations (full, essential, or minimal), selecting display language (English or Chinese), and toggling individual display elements on or off. Use this command during initial setup or when adjusting which HUD information appears in your Claude interface.
Install in Claude Code
Copymkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/jarrodwatts/claude-hud/HEAD/commands/configure.md -o ~/.claude/commands/configure.mdThen start a new Claude Code session; the slash command loads automatically.
Definition
configure.md
# Configure Claude HUD **FIRST**: Resolve the active config directory (`$CLAUDE_CONFIG_DIR` when set, otherwise `~/.claude`). Use the Read tool to load both of these files when they exist: 1. `plugins/claude-hud/config.json` inside the active config directory (the writable base). 2. `claude-hud.json` directly inside the active config directory (the manual override). Store the base and override separately. The base file alone determines which flow to use. For current values and previews, compute the effective config by layering the override over the base with nested objects merged key by key and arrays/scalars replaced. Track every key defined by the override so the guided flow can identify settings that it cannot change. ## Core Features (on by default) These default to ON and are what most users keep. They ARE configurable (`display.showModel`, `display.showContextBar`), but the guided flow keeps them enabled — toggle them by editing `config.json` directly if needed: - Model name `[Opus]` - Context bar `████░░░░░░ 45%` Advanced settings such as `colors.*`, `pathLevels`, `maxWidth`, `forceMaxWidth`, `elementOrder`, `projectLineOrder`, `display.mergeGroups`, `display.timeFormat`, `display.contextValue`, `display.modelFormat`, `display.modelOverride`, `display.modelSource`, `display.effortFormat`, `display.showProvider`, `display.providerName`, `display.autocompactBuffer`, `display.autoCompactWindow`, `display.usageThreshold`, `display.sevenDayThreshold`, `display.environmentThreshold`, `display.contextWarningThreshold`, `display.contextCriticalThreshold`, `display.advisorOverride`, `display.showAuth`, `display.showAuthUser`, `display.authUserLength`, and the `display.externalUsage*` keys, plus `jjStatus.showDirty` and `jjStatus.showConflicts`, are preserved when saving but are not edited by this guided flow. --- ## Two Flows Based on Config State ### Flow A: New User (no config) Questions: **Layout → Preset → Language → Turn Off → Turn On → Custom Line** ### Flow B: Update Config (config exists) Questions: **Turn Off → Turn On → Git Style → Layout/Reset → Language → Custom Line** (6 questions max) --- ## Flow A: New User (6 Questions) ### Q1: Layout - header: "Layout" - question: "Choose your HUD layout:" - multiSelect: false - options: - "Expanded (Recommended)" - Split into semantic lines (identity, project, environment, usage) - "Compact" - Everything on one line - "Compact + Separators" - One line with separator before activity ### Q2: Preset - header: "Preset" - question: "Choose a starting configuration:" - multiSelect: false - options: - "Full" - Everything enabled (Recommended) - "Essential" - Activity + git, minimal info - "Minimal" - Core only (model, context bar) ### Q3: Language - header: "Language" - question: "Choose your HUD label language:" - multiSelect: false - options: - "English (Recommended)" - Default, simplest onboarding path - "简体中文" - Show HUD labels and status text in Simplified Chinese - "繁體中文" - Show HUD labels and status text in Traditional Chinese Save as `language: "en"`, `language: "zh-Hans"`, or `language: "zh-Hant"`. ### Q4: Turn Off (based on chosen preset) - header: "Turn Off" - question: "Disable any of these? (enabled by your preset)" - multiSelect: true - options: **ONLY items that are ON in the chosen preset** (max 4) - "Tools activity" - ◐ Edit: file.ts | ✓ Read ×3 - "Agents status" - ◐ explore [haiku]: Finding code - "Todo progress" - ▸ Fix bug (2/5 tasks) - "Project name" - my-project path display - "Added directories" - +repo +shared workspace directories from /add-dir - "Git status" - git:(main*) branch indicator - "Jujutsu status" - jj:(bookmark*) opt-in indicator - "Config counts" - 2 CLAUDE.md | 4 rules - "Token breakdown" - (in: 45k, cache: 12k) - "Output speed" - out: 42.1 tok/s - "Usage limits" - 5h: 25% | 7d: 10% - "Usage reset label" - show or hide the `resets in` prefix - "Compact usage" - 5h: 25% (1h 30m) shorter format - "Model-scoped usage" - Fable ██░░ 38% per-model weekly windows - "Session duration" - ⏱️ 5m - "Session name" - fix-auth-bug (session slug or custom title) - "Session tokens" - Tokens 12.8M (in: 7k, out: 28k, cache: 12.8M) - "Reasoning level" - ◑ high (low/medium/high/xhigh/max, or ultracode(xhigh)) - "Output style" - style: explanatory (current output style name) - "Session cost" - 💰 $0.42 - "Routed provider cost" - 💰 $0.42 for Bedrock/Vertex (only if Session cost is on) - "Skills activity" - active skills count - "MCP status" - MCP server status - "Memory usage" - process memory footprint - "Prompt cache" - cache TTL countdown - "Claude Code version" - the running CC version - "Compaction count" - Compactions: 2 after /compact or auto-compaction - "Advisor model" - Advisor: Opus 4.7 (when /advisor is configured) ### Q5: Turn On (based on chosen preset) - header: "Turn On" - question: "Enable any of these? (disabled by your preset)" - multiSelect: true - options: **ONLY items that are OFF in the chosen preset** (max 4) - (same list as above, filtered to OFF items) **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!" ### Q6: Custom Line (optional) - header: "Custom Line" - question: "Add a custom phrase to display in the HUD? (e.g. a motto, max 80 chars)" - multiSelect: false - options: - "Skip" - No custom line - "Enter custom text" - Ask user for their phrase via AskUserQuestion (free text input) If user chooses "Enter custom text", use AskUserQuestion to get their text. Save as `display.customLine` in config. --- ## Flow B: Update Config (6 Questions) ### Q1: Turn Off - header: "Turn Off" - question: "What do you want to DISABLE? (currently enabled)" - multiSelect: true - options: **ONLY items currently ON** (max 4, prioritize Activity first) - "Tools ac
More from this repository