diff --git a/statusline.ps1 b/statusline.ps1 index c80ef70..8d0f494 100644 --- a/statusline.ps1 +++ b/statusline.ps1 @@ -98,9 +98,10 @@ $remainComma = Format-Commas ($size - $current) # Config directory (respects CLAUDE_CONFIG_DIR override) $claudeConfigDir = if ($env:CLAUDE_CONFIG_DIR) { $env:CLAUDE_CONFIG_DIR } else { Join-Path $env:USERPROFILE ".claude" } -# Check reasoning effort -$effortLevel = "medium" -if ($env:CLAUDE_CODE_EFFORT_LEVEL) { +$effortLevel = $null +if ($data.effort.level) { + $effortLevel = [string]$data.effort.level +} elseif ($env:CLAUDE_CODE_EFFORT_LEVEL) { $effortLevel = $env:CLAUDE_CODE_EFFORT_LEVEL } else { $settingsPath = Join-Path $claudeConfigDir "settings.json" @@ -111,6 +112,7 @@ if ($env:CLAUDE_CODE_EFFORT_LEVEL) { } catch {} } } +if (-not $effortLevel) { $effortLevel = "medium" } # ===== Build single-line output ===== $out = "" diff --git a/statusline.sh b/statusline.sh index 4a7a9c0..e69c8a7 100755 --- a/statusline.sh +++ b/statusline.sh @@ -97,15 +97,18 @@ pct_remain=$(( 100 - pct_used )) used_comma=$(format_commas $current) remain_comma=$(format_commas $(( size - current ))) -# Check reasoning effort settings_path="$claude_config_dir/settings.json" -effort_level="medium" -if [ -n "$CLAUDE_CODE_EFFORT_LEVEL" ]; then +effort_level="" +stdin_effort=$(echo "$input" | jq -r '.effort.level // empty' 2>/dev/null) +if [ -n "$stdin_effort" ]; then + effort_level="$stdin_effort" +elif [ -n "$CLAUDE_CODE_EFFORT_LEVEL" ]; then effort_level="$CLAUDE_CODE_EFFORT_LEVEL" elif [ -f "$settings_path" ]; then effort_val=$(jq -r '.effortLevel // empty' "$settings_path" 2>/dev/null) [ -n "$effort_val" ] && effort_level="$effort_val" fi +[ -z "$effort_level" ] && effort_level="medium" # ===== Build single-line output ===== out=""