Skip to content
Development
Command

/configure

Customize your claude-code-status-bar settings (guided wizard)

From plugin
claude-code-status-bar
172 skills2 commands
Install
> /plugin marketplace add briansmith80/claude-code-status-bar
> /plugin install claude-code-status-bar@claude-code-status-bar

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/configure

Context preview

What this command does when you run it.

Customize your claude-code-status-bar settings (guided wizard)

Command definition

configure.md
description: Customize your claude-code-status-bar settings (guided wizard)
allowed-tools: Bash, Read, Edit, Write, AskUserQuestion

claude-code-status-bar — Guided configuration wizard

You are a setup wizard for the user's status bar. Walk them through a short, **guided** sequence of choices using the **AskUserQuestion** tool (one question group at a time), then write only the non-default settings to `~/.claude/statusline.conf`. Be friendly and fast. The whole point is that *Claude Code is the interactive layer* — the user should never hand-edit a file unless they want to.

Rules for every question:

  • Make the FIRST option the user's CURRENT value (or the default), labelled

"(keep current)". This lets them breeze through with one keypress.

  • Use `multiSelect: true` for the toggle groups (Q3–Q5).
  • Skip any group the user says they don't care about. Don't force all six.
  • After the questions, PREVIEW before you save, then write only the diff.

Step 1 — Read the current config and orient

conf_file="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/statusline.conf"
if [ -f "$conf_file" ]; then echo "=== current statusline.conf ==="; cat "$conf_file"; else echo "No config yet — all defaults."; fi

Summarise the current state in one or two plain sentences (theme, layout, and anything already non-default). Then offer to preview the themes live — this is the closest thing to a visual picker and it shows each theme's gradient bars:

bash ~/.claude/statusline-command.sh --demo

Step 2 — Run the guided questions (AskUserQuestion)

Ask these as a sequence of AskUserQuestion calls. You can batch up to 4 related questions per call. For each option list, lead with the current/default value.

**Q1 — Theme** (single select): `default`, `nord`, `dracula`, `solarized`, `tokyo-night`, `catppuccin`, `matrix`, `mono`. Tell them they can run `--demo <theme>` to preview just one. (Offer 4 at a time if listing all eight; or ask "which family — neon / muted / pastel / mono?" first, then narrow.)

**Q2 — Layout** (single select):

  • `classic` — every metric on line 1, live activity on line 2 (the default)
  • `three-line` — model/usage/cost · dir + git state · activity
  • `stacked` — dir/model/usage · git state/duration · activity

**Q3 — Usage & limits** (multiSelect). Frame each as a feature to keep/enable:

  • **Burn-rate forecast** (`usage_forecast`, default ON) — when you're on track

to hit a limit before it resets, the countdown becomes a `▲time-to-limit` warning (e.g. `▲1h20m`). Quiet unless you're over pace. Recommend keeping ON.

  • **Clock reset labels** (`usage_label=clock`, default countdown) — show the

reset time (`2pm`) instead of the countdown (`2h20m`).

  • **5-hour limit** (`show_usage_5h`, default ON) / **7-day limit**

(`show_usage_7d`, default ON) — uncheck to hide.

  • **Model-scoped weekly swap** (`usage_scoped`, default ON) — plans with a

per-model weekly cap (the "Fable"/"Opus" row on claude.ai) get the weekly bar swapped to that cap when it's running higher than the all-models one (it binds first): `wk:Fable (3d17h) ███░░ 36%`. Reads the OAuth usage data in the background; fail-silent where unavailable. Recommend keeping ON — set `usage_scoped=false` only if they want the plain all-models bar always (that also skips the background fetch on modern Claude Code).

  • **Claude API status badge** (`show_claude_status`, default OFF): a

degraded-only early warning fed by the public `status.claude.com` page. It shows `● Claude: major outage` (or `critical` / `degraded` / `maintenance`) ONLY when Claude is degraded, nothing when healthy, and polls in the background so it never touches the render path. If they turn it ON, ask one quick follow-up (single select) for sensitivity: **major + critical only** (`claude_status_min=major`, the default) or **also minor degradation + maintenance** (`claude_status_min=minor`). The poll interval defaults to 5 min (`claude_status_cache_seconds=300`) and is rarely worth changing.

**Q4 — Segments** (multiSelect). Offer the commonly-changed ones:

  • Turn ON (off by default): cost-per-hour (`show_cost_rate`), token counts

(`show_tokens`).

  • Turn OFF (on by default) for a leaner bar: session cost (`show_cost`),

lines-changed (`show_lines_changed`), dirty count (`show_dirty_count`), ahead/behind (`show_ahead_behind`), stash (`show_stash`), worktree (`show_worktree`), duration (`show_duration`), PR (`show_pr`).

**Q5 — Live activity line** (multiSelect):

  • **Colourful activity** (`activity_colour`, default ON) — spinner, heat-coloured

elapsed, red failures, completion flash, gradient todo bar.

  • **Pulse** (`activity_pulse`) / **Scanner** (`activity_scanner`) — opt-in motion

effects. If enabled, OFFER to set `refreshInterval: 3` (Step 5) so they animate.

  • **Turn the activity line off** (`show_activity=false`) — drops the Node helper.

**Q6 — Bar style** (single select): `gradient` (the theme's ramp — default), `heat` (fixed green→red on any theme), `flat` (single colour). Maps to `bar_gradient=true|heat|false`.

Step 3 — Preview before saving

Render the pending choices against a sample payload WITHOUT committing, by sourcing the would-be settings inline:

# Replace KEY=VALUE pairs with the user's pending choices.
env_conf='colour_theme=nord
usage_forecast=true'
tmp="$(mktemp)"; printf '%s\n' "$env_conf" > "$tmp"
echo '{"cwd":"/tmp/demo","model":{"display_name":"Opus 4.8 (1M context)"},"context_window":{"used_percentage":78,"context_window_size":1000000,"total_input_tokens":780000},"total_cost_usd":1.23,"rate_limits":{"five_hour":{"used_percentage":62,"resets_at":'"$(( $(date +%s) + 5400 ))"'},"seven_day":{"used_percentage":71,"resets_at":'"$(( $(date +%s) + 200000 ))"'}}}' \
  | CLAUDE_CONFIG_DIR="$(dirname "$tmp")" HOME="$(dirname "$tmp")" bash ~/.claude/statusline-command.sh 2>/dev/null || true
rm -f "$tmp"

Show the rendered bar, confirm it looks right, then save.

Step 4 — Write the

Read more
Ships withclaude-code-status-bar

Configurable status bar for Claude Code: usage limits with pacing markers, context window, git state, live activity, session cost, and 8 colour themes. Pure bash, zero dependencies.

Get the whole plugin
Stats
17
Stars
0
Forks
Maintained
Maintenance
Shell
Language
MIT
License
2mo ago
Last commit
6mo ago
Created

Repo: briansmith80/claude-code-status-bar

Other commands on claude-code-status-bar.