by GaoSSR
Minimal Claude Code statusline HUD powered by Rust.
# Add to your Claude Code skills
git clone https://github.com/GaoSSR/best-claude-hudGuides for using cli tools skills like best-claude-hud.
Last scanned: 7/21/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-07-21T06:27:52.707Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}best-claude-hud is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by GaoSSR. Minimal Claude Code statusline HUD powered by Rust. It has 1,352 GitHub stars.
Yes. best-claude-hud passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/GaoSSR/best-claude-hud" and add it to your Claude Code skills directory (see the Installation section above).
best-claude-hud is primarily written in Rust. It is open-source under GaoSSR on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh best-claude-hud against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
best-claude-hud is a high-performance Claude Code statusline tool written in Rust. It shows the status information you actually need while using Claude Code in a terminal: model and live reasoning effort, workspace, Git branch/status, context window usage, and optional usage/rate-limit metadata.
The default statusline focuses on:
best-claude-hud is distributed through npm. The npm package uses prebuilt native binaries; users do not need Rust installed.
Install best-claude-hud and configure Claude Code in one line:
npm install -g best-claude-hud@latest && best-claude-hud --setup
Restart Claude Code after setup. Existing sessions do not automatically reload ~/.claude/settings.json.
Install only:
npm install -g best-claude-hud@latest
Using yarn or pnpm:
yarn global add best-claude-hud@latest
pnpm add -g best-claude-hud@latest
For users in China:
npm install -g best-claude-hud@latest --registry https://registry.npmmirror.com && best-claude-hud --setup
Update an existing installation:
npm install -g best-claude-hud@latest
Uninstall:
npm uninstall -g best-claude-hud
best-claude-hud also ships a Nix flake for declarative and reproducible environments.
Run without installing globally:
nix run github:GaoSSR/best-claude-hud -- --help
Install into a Nix profile:
nix profile install github:GaoSSR/best-claude-hud
best-claude-hud --setup
For home-manager or another declarative setup, point Claude Code directly at the Nix store binary. The example below declaratively manages the entire ~/.claude/settings.json file and does not merge existing settings. Use it only for a new file or when all Claude Code settings are declared in the same Nix configuration:
# In your flake inputs:
# best-claude-hud.url = "github:GaoSSR/best-claude-hud";
{ inputs, pkgs, ... }:
let
hud = inputs.best-claude-hud.packages.${pkgs.system}.default;
in
{
home.packages = [ hud ];
home.file.".claude/settings.json".text = builtins.toJSON {
statusLine = {
type = "command";
command = "${hud}/bin/best-claude-hud";
padding = 0;
};
};
}
If you keep ~/.claude/settings.json manually, run best-claude-hud --setup or add the statusLine block directly; do not use this home.file declaration. If Nix already manages the file, add statusLine to the existing Nix expression. To migrate an unmanaged file to Home Manager, first copy every existing setting into Nix, then move the original file out of the way—for example, by renaming it as a backup—before activation.
Development shell:
nix develop
npm install -g best-claude-hud@latest only installs the command. Claude Code will not show the HUD until statusLine is configured.
Recommended:
best-claude-hud --setup
The setup command writes a statusLine block to ~/.claude/settings.json and preserves existing settings. It resolves the installed command to an absolute path when possible:
{
"statusLine": {
"type": "command",
"command": "/path/to/best-claude-hud",
"padding": 0
}
}
Manual configuration can also use "command": "best-claude-hud" if your Claude Code sessions inherit the same PATH as your shell. If statusLine already exists, --setup creates a timestamped backup next to settings.json before replacing it. Restart Claude Code after changing this file.
The npm package intentionally does not install a binary into ~/.claude. It uses the global npm command and resolves the matching native binary from Kiri-style npm alias optional dependencies.
best-claude-hud # open the interactive menu when run in a terminal
best-claude-hud --help # print command help
best-claude-hud --version # print version
best-claude-hud --setup # configure Claude Code statusLine
best-claude-hud --config # open the TUI configuration interface
best-claude-hud --theme minimal # temporarily render with a built-in theme
best-claude-hud --patch <cli.js> # patch Claude Code cli.js context warnings
Temporarily override the configured theme:
best-claude-hud --theme cometix
best-claude-hud --theme minimal
best-claude-hud --theme gruvbox
best-claude-hud --theme nord
best-claude-hud --theme powerline-dark
best-claude-hud --theme powerline-light
best-claude-hud --theme powerline-rose-pine
best-claude-hud --theme powerline-tokyo-night
Custom themes can be stored under:
~/.claude/best-claude-hud/themes/
Then use:
best-claude-hud --theme my-custom-theme
Configuration files are stored under:
~/.claude/best-claude-hud/
Important files:
config.toml: main HUD and segment configurationmodels.toml: model display names and context window limitsthemes/*.toml: custom theme presets.api_usage_cache.json: optional usage API cache.update_state.json: update-check stateRun the TUI configurator:
best-claude-hud --config
Available segment families:
modeldirectorygitcontext_windowusagecostsessionoutput_styleupdatemodels.toml is created automatically on first run:
~/.claude/best-claude-hud/models.toml
It controls model display names and context limits. Claude model families are recognized automatically, while third-party models can be customized:
[[models]]
pattern = "kimi-k2.7"
display_name = "Kimi K2.7"
context_limit = 262144
[[models]]
pattern = "glm-5"
display_name = "GLM-5"
context_limit = 200000
[[models]]
pattern = "qwen3-coder"
display_name = "Qwen Coder"
context_limit = 256000
[[context_modifiers]]
pattern = "[1m]"
display_suffix = " 1M"
context_limit = 1000000
Claude Code sends statusLine data to the command through stdin. best-claude-hud reads:
modeleffort.level, shown as a separate item when the current model supports reasoning effortworkspace.project_dir for the stable Claude Code launch directoryworkspace.current_dir as a fallback for older Claude Code versionstranscript_pathsession_id, used to scope Ultracode detection to the current Claude Code processcontext_windowcostoutput_stylerate_limitsThe effort item follows the model name with an explicit ASCII pipe and a brain
icon, for example Kimi K2.7 | 🧠 max. Its label is rendered in bright purple
(#B45CFF). The HUD displays low, medium, high, xhigh, max, or
ultracode; Nerd Font and Powerline modes use the matching Nerd Font brain
glyph.
Claude Code's official statusline payload reports Ultracode as xhigh. To keep
ordinary xhigh and Ultracode distinct, the HUD cross-checks successful
/effort events from the current Claude Code process only. Events from an
earlier process are ignored when a conversation is resumed. An xhigh
CLAUDE_CODE_EFFORT_LEVEL override remains compatible with Ultracode, while
other active overrides prevent it from being re