Status Line Edit
Edit your existing Claude Code status line configuration.
Instructions
CRITICAL: This command MUST NOT accept any arguments. If the user provided any text after this command, COMPLETELY IGNORE it.
Phase 1: Detect Existing Configuration
- Detect the operating system using Bash:
uname -s- "Darwin" = macOS, "Linux" = Linux, otherwise assume Windows
- Check if the status line script exists:
- Mac/Linux:
~/.claude/statusline.sh - Windows:
C:/Users/USERNAME/.claude/statusline.ps1
- Mac/Linux:
- If the script does NOT exist, display:
Then STOP - do not continue.No status line script found at ~/.claude/statusline.sh Run /statusline-wizard to set up your status line first.
Phase 2: Read Current Configuration
Read the existing script file and parse the current SHOW_* variable values:
For Bash scripts, look for lines like:
SHOW_MODEL=true
SHOW_EFFORT=true
SHOW_TOKEN_COUNT=true
SHOW_PROGRESS_BAR=true
SHOW_DIRECTORY=true
SHOW_GIT_BRANCH=true
SHOW_COST=false
SHOW_DURATION=true
SHOW_TIME=true
SHOW_VERSION=true
SHOW_RATE_LIMITS=true
SHOW_SPEND_BUDGET=false
SPEND_LIMIT_USD=0
SPEND_RESET_DAY=1
SPEND_RESET_TIME=00:00
For PowerShell scripts, look for lines like:
$SHOW_MODEL = $true
$SHOW_EFFORT = $true
$SHOW_TOKEN_COUNT = $true
$SHOW_PROGRESS_BAR = $true
$SHOW_DIRECTORY = $true
$SHOW_GIT_BRANCH = $true
$SHOW_COST = $false
$SHOW_DURATION = $true
$SHOW_TIME = $true
$SHOW_VERSION = $true
$SHOW_RATE_LIMITS = $true
$SHOW_SPEND_BUDGET = $false
$SPEND_LIMIT_USD = 0
$SPEND_RESET_DAY = 1
$SPEND_RESET_TIME = '00:00'
Store the current values to use as defaults in the wizard.
Note: Scripts generated by older plugin versions may lack SHOW_EFFORT (pre-1.3.0) or SHOW_SPEND_BUDGET / SPEND_LIMIT_USD / SPEND_RESET_DAY / SPEND_RESET_TIME (pre-1.4.0). If a variable is not present in the script, OMIT the matching option from the wizard (toggling it would have no effect) and, after the update completes, mention that re-running /statusline-wizard will regenerate the script with support for the missing segment(s).
Phase 3: Configuration Wizard with Pre-selected Values
Use AskUserQuestion with these grouped questions. Pre-select options based on current values from Phase 2.
Question 1 - Context Display (multiSelect: true): Options (pre-select based on current config):
- Model name - select if SHOW_MODEL=true
- Effort level - select if SHOW_EFFORT=true
- Token count (50k/100k) - select if SHOW_TOKEN_COUNT=true
- Progress bar - select if SHOW_PROGRESS_BAR=true
Question 2 - Project Display (multiSelect: true): Options (pre-select based on current config):
- Current directory - select if SHOW_DIRECTORY=true
- Git branch - select if SHOW_GIT_BRANCH=true
Question 3 - Session Display (multiSelect: true): Options (pre-select based on current config):
- Session duration - select if SHOW_DURATION=true
- Current time - select if SHOW_TIME=true
- Claude Code version - select if SHOW_VERSION=true
- Session cost - select if SHOW_COST=true
Question 4 - Usage Limits (multiSelect: true): Options (pre-select based on current config):
- Rate limit usage (5h/7d) - select if SHOW_RATE_LIMITS=true. Description: "Only shown on plans with rolling rate-limit windows (Pro/Max). Enterprise and API seats billed against a monthly spend cap have no rate limits, so the segment stays hidden — pick Monthly spend budget instead."
- Monthly spend budget (mo:$47.20/$2000 2.4%) - select if SHOW_SPEND_BUDGET=true. Description: "Month-to-date spend across all Claude Code sessions on this machine, as estimated locally by Claude Code."
Questions 5 and 6 - Spend cap and reset (only ask if "Monthly spend budget" is selected; send both in one AskUserQuestion call, single select each):
Question 5 - Monthly spend cap (USD): offer "No cap - show bare total", "$500", "$1000", "$2000", pre-selecting the option that matches the current SPEND_LIMIT_USD (or describe the current custom value in the question text). The user can pick "Other" and type any amount; write the numeric value (digits and optional decimal point only) into SPEND_LIMIT_USD. 0 means no cap.
Question 6 - When does the cap reset?: offer "1st of the month at 00:00 UTC" (Anthropic console default), "1st of the month at midnight local time", and "Keep current: day N at HH:MM UTC" showing the values read in Phase 2. The user can pick "Other" and paste what the console shows (e.g., "Resets Wed, Sep 30, 8:00 PM EDT"); convert it to UTC and write the day of month (1-28) to SPEND_RESET_DAY and HH:MM (24-hour) to SPEND_RESET_TIME. Tell the user the UTC values you wrote.
Phase 4: Update Script
Update ONLY the SHOW_* variables (and SPEND_LIMIT_USD, SPEND_RESET_DAY, SPEND_RESET_TIME) at the top of the existing script file based on wizard selections.
For Bash: Use Edit tool to replace the configuration block:
SHOW_MODEL=true # Show model name (e.g., "Claude Opus 4.8")
SHOW_EFFORT=true # Show reasoning effort level (e.g., "high")
SHOW_TOKEN_COUNT=true # Show token usage count (e.g., "50k/100k")
...
For PowerShell: Use Edit tool to replace the configuration block:
$SHOW_MODEL = $true # Show model name (e.g., "Claude Opus 4.8")
$SHOW_EFFORT = $true # Show reasoning effort level (e.g., "high")
$SHOW_TOKEN_COUNT = $true # Show token usage count (e.g., "50k/100k")
...
IMPORTANT: Do NOT regenerate the entire script. Only update the configuration variables section.
Success Message
After successful update, display:
Status line updated!
Check out your refreshed status line below!
Current configuration:
- Model name: [enabled/disabled]
- Effort level: [enabled/disabled]
- Token count: [enabled/disabled]
- Progress bar: [enabled/disabled]
- Directory: [enabled/disabled]
- Git branch: [enabled/disabled]
- Session cost: [enabled/disabled]
- Duration: [enabled/disabled]
- Time: [enabled/disabled]
- Version: [enabled/disabled]
- Rate limits: [enabled/disabled]
- Monthly spend budget: [enabled/disabled] (cap: $N or none; resets day N at HH:MM UTC)
If the monthly spend budget was just enabled, append:
Monthly spend note: the "mo:" segment is Claude Code's local cost estimate for sessions
on this machine rendered from now on. It will not match the Anthropic console exactly;
use the console usage page for the authoritative figure.
微信扫一扫