claude-hud

Configuration

Claude HUD is highly customizable. You can adjust the layout, choose which elements to display, change colors, control thresholds, and reorder sections — all through a single JSON config file.

Prerequisites: Getting Started (Claude HUD installed and running)


Configuration Methods

There are two ways to configure Claude HUD:

Interactive Setup

Run the built-in configuration command inside Claude Code:

/claude-hud:configure

This guided flow lets you pick a preset, toggle individual elements, and preview the result before saving. Any manual edits you have made (such as custom colors or thresholds) are preserved.

Manual Editing

Edit the config file directly for full control over every option:

~/.claude/plugins/claude-hud/config.json

The file uses standard JSON. If the file does not exist, Claude HUD uses its built-in defaults. If the file contains invalid JSON, it silently falls back to defaults as well.


Presets

When you run /claude-hud:configure, you start by choosing a preset. Each preset is a starting point — you can customize individual settings afterward.

Preset What It Enables
Full Everything on — tools, agents, todos, git file stats, usage, duration
Essential Activity lines and git status, with minimal information clutter
Minimal Core only — model name and context bar

After selecting a preset, the interactive flow walks you through toggling individual elements on or off.


Layout Options

Line Layout

The lineLayout option controls how HUD information is arranged:

{
  "lineLayout": "expanded"
}
Value Description
expanded Each element group gets its own line (default)
compact All elements compressed into fewer lines

Separators

Add visual separators between elements in the display:

{
  "showSeparators": true
}

When enabled, elements are divided by | characters for visual clarity.

Project Path Depth

Control how many directory levels appear in the project path display:

{
  "pathLevels": 2
}
Value Example Output
1 my-project git:(main)
2 apps/my-project git:(main)
3 dev/apps/my-project git:(main)

Only values 1, 2, or 3 are accepted. Any other value falls back to the default of 1.

Element Order

In expanded layout mode, you can control the order of HUD elements and hide elements by omitting them:

{
  "elementOrder": ["project", "tools", "context", "usage", "environment", "agents", "todos"]
}

Available elements: project, context, usage, environment, tools, agents, todos.

Elements not included in the array are hidden in expanded mode. Duplicate entries and unrecognized names are ignored.


Display Toggles

The display object controls the visibility and behavior of individual HUD components.

Session Information

Option Type Default Description
showModel boolean true Show the model name, e.g. [Opus]
showProject boolean true Show the project path
showSessionName boolean false Show the session slug or custom title from /rename
showDuration boolean false Show session duration, e.g. 5m
showSpeed boolean false Show output token speed, e.g. out: 42.1 tok/s
showConfigCounts boolean false Show counts of CLAUDE.md files, rules, MCPs, and hooks

Context Display

Option Type Default Description
showContextBar boolean true Show the visual context usage bar
contextValue string "percent" Format for context value display
showTokenBreakdown boolean true Show token details when context exceeds 85%

The contextValue option accepts three formats:

Value Example Output Description
"percent" 45% Percentage of context used
"tokens" 45k/200k Token count vs. total capacity
"remaining" 55% Percentage of context remaining

Usage Limits

Option Type Default Description
showUsage boolean true Show rate limit consumption
usageBarEnabled boolean true Render usage as a visual bar
sevenDayThreshold 0-100 80 Show 7-day usage when it reaches this percentage (0 = always show)
usageThreshold 0-100 0 Minimum percentage before showing 5-hour usage (0 = always show)
environmentThreshold 0-100 0 Minimum percentage before showing environment usage (0 = always show)

Usage display is available for Claude Pro, Max, and Team subscribers. API users do not have rate limits and will not see usage data.

When the 7-day usage exceeds the configured threshold, an additional bar appears:

Context ████░░░░░░ 45% | Usage ██░░░░░░░░ 25% (1h 30m / 5h) | ██████████ 85% (2d / 7d)

Activity Lines

These lines are hidden by default and only appear when there is activity to display.

Option Type Default Description
showTools boolean false Show tool activity (reads, edits, searches)
showAgents boolean false Show running subagents and their tasks
showTodos boolean false Show todo item progress

Enable all three for maximum visibility:

{
  "display": {
    "showTools": true,
    "showAgents": true,
    "showTodos": true
  }
}

Autocompact Buffer

Option Type Default Description
autocompactBuffer string "enabled" Show autocompact warning indicator

When enabled, the HUD displays a warning when context is approaching the autocompact threshold. Set to "disabled" to hide this indicator.


Git Status

The gitStatus section controls how repository information appears in the HUD.

{
  "gitStatus": {
    "enabled": true,
    "showDirty": true,
    "showAheadBehind": true,
    "showFileStats": true
  }
}
Option Type Default Description
enabled boolean true Show git branch name
showDirty boolean true Append * when there are uncommitted changes
showAheadBehind boolean false Show up-arrow N down-arrow N for commits ahead/behind remote
showFileStats boolean false Show file change counts

With all options enabled, the display looks like:

[Opus] | my-project git:(main* up2 down1 !3 +1 ?2)

File stat indicators:

Symbol Meaning
! Modified files
+ Added/staged files
X Deleted files
? Untracked files

Counts of zero are omitted for a cleaner display.


Colors

Customize the color scheme with the colors object. Colors apply to progress bars, percentages, and warning states.

{
  "colors": {
    "context": "cyan",
    "usage": "cyan",
    "warning": "yellow",
    "usageWarning": "magenta",
    "critical": "red"
  }
}
Color Key Default Used For
context green Context bar and context percentage
usage brightBlue Usage bars and percentages below warning thresholds
warning yellow Context threshold warnings and usage warning text
usageWarning brightMagenta Usage bars and percentages near their threshold
critical red Limit-reached states and critical thresholds

Available Color Names

red, green, yellow, magenta, cyan, brightBlue, brightMagenta

Invalid color names fall back to the default for that key.


Usage Cache

The usage section controls how often Claude HUD refreshes rate limit data from the Anthropic API.

{
  "usage": {
    "cacheTtlSeconds": 120,
    "failureCacheTtlSeconds": 30
  }
}
Option Type Default Description
cacheTtlSeconds number 60 Seconds to cache a successful usage API response
failureCacheTtlSeconds number 15 Seconds to cache a failed response before retrying

Both values must be positive integers. Invalid values fall back to their defaults.

Increasing cacheTtlSeconds reduces API calls but makes usage data less current. In high-latency environments, you can also set the CLAUDE_HUD_USAGE_TIMEOUT_MS environment variable (in milliseconds) to increase the API request timeout.


Full Example

Here is a complete configuration that enables all features with customized colors:

{
  "lineLayout": "expanded",
  "showSeparators": false,
  "pathLevels": 2,
  "elementOrder": ["project", "tools", "context", "usage", "environment", "agents", "todos"],
  "gitStatus": {
    "enabled": true,
    "showDirty": true,
    "showAheadBehind": true,
    "showFileStats": true
  },
  "display": {
    "showModel": true,
    "showProject": true,
    "showContextBar": true,
    "contextValue": "percent",
    "showConfigCounts": true,
    "showDuration": true,
    "showSpeed": false,
    "showTokenBreakdown": true,
    "showUsage": true,
    "usageBarEnabled": true,
    "showTools": true,
    "showAgents": true,
    "showTodos": true,
    "showSessionName": false,
    "autocompactBuffer": "enabled",
    "usageThreshold": 0,
    "sevenDayThreshold": 80,
    "environmentThreshold": 0
  },
  "usage": {
    "cacheTtlSeconds": 60,
    "failureCacheTtlSeconds": 15
  },
  "colors": {
    "context": "cyan",
    "usage": "brightBlue",
    "warning": "yellow",
    "usageWarning": "magenta",
    "critical": "red"
  }
}

Validation and Defaults

Claude HUD validates every config value on load. Invalid values silently fall back to their defaults — the HUD never crashes due to a bad config.

Field Validation Rule
lineLayout Must be "expanded" or "compact"
pathLevels Must be 1, 2, or 3
contextValue Must be "percent", "tokens", or "remaining"
autocompactBuffer Must be "enabled" or "disabled"
elementOrder Array of known element names; empty or invalid resets to default
Color values Must be one of the seven supported color names
Thresholds Clamped to 0-100 range
Cache TTLs Must be positive integers

Legacy Config Migration

If you have a config file from an older version of Claude HUD (v0.0.x), the layout field is automatically migrated:

No manual migration is needed.