- name
- statusline-edit
- description
- Edit existing status line configuration with pre-selected options based on current settings.
- disable-model-invocation
- true
# 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
1. Detect the operating system using Bash: `uname -s`
- "Darwin" = macOS, "Linux" = Linux, otherwise assume Windows
2. Check if the status line script exists:
- **Mac/Linux**: `~/.claude/statusline.sh`
- **Windows**: `C:/Users/USERNAME/.claude/statusline.ps1`
3. If the script does NOT exist, display:
```
No status line script found at ~/.claude/statusline.sh
Run /statusline-wizard to set up your status line first.
```
Then STOP - do not continue.
### Phase 2: Read Current Configuration
Read the existing script file and parse the current SHOW_* variable values:
**For Bash scripts**, look for lines like:
```bash
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:
```powershell
$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:
```bash
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:
```powershell
$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.
```
Ver en GitHub