Skip to content

Commit 1daf4d5

Browse files
committed
fix(statusline): always show effort, use model id for n/a logic
- read model.id from statusline json input - show effort=n/a for haiku and models without extended thinking - remove conditional hiding of effort segment; always render it
1 parent 797437f commit 1daf4d5

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

ai-stuff/claude/scripts/statusline.sh

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,21 @@ fi
2929
# Vim mode (bracket indicator removed; Claude Code renders -- INSERT --/-- NORMAL -- natively)
3030
vim_mode=""
3131

32-
# Reasoning effort from settings
32+
# Reasoning effort: Claude Code does not pass effort_level in the statusline JSON.
33+
# Read effortLevel from settings.json, but only show it for models that support
34+
# extended thinking (Sonnet/Opus). Haiku and other non-thinking models → "n/a".
35+
model_id=$(echo "$input" | jq -r '.model.id // empty')
3336
effort_level=""
34-
settings_path="$HOME/.claude/settings.json"
35-
if [ -f "$settings_path" ]; then
36-
effort_level=$(jq -r '.effortLevel // empty' "$settings_path" 2>/dev/null)
37-
fi
38-
if [ -z "$effort_level" ]; then
39-
effort_level="default"
40-
fi
37+
case "$model_id" in
38+
*haiku*) effort_level="n/a" ;;
39+
*)
40+
settings_path="$HOME/.claude/settings.json"
41+
if [ -f "$settings_path" ]; then
42+
effort_level=$(jq -r '.effortLevel // empty' "$settings_path" 2>/dev/null)
43+
fi
44+
[ -z "$effort_level" ] && effort_level="n/a"
45+
;;
46+
esac
4147

4248
# Token calculations
4349
context_size=$(echo "$input" | jq -r ".context_window.context_window_size // 200000")
@@ -271,10 +277,8 @@ if [ -n "$cost_fmt" ]; then
271277
printf "%b" "$SEP"
272278
printf "cost: %b%s%b" "$C_CYAN" "$cost_fmt" "$C_RESET"
273279
fi
274-
if [ "$effort_level" != "default" ]; then
275-
printf "%b" "$SEP"
276-
printf "effort: %b%s%b" "$effort_color" "$effort_level" "$C_RESET"
277-
fi
280+
printf "%b" "$SEP"
281+
printf "effort: %b%s%b" "$effort_color" "$effort_level" "$C_RESET"
278282

279283
# Line 2: Current (5h) bar | Weekly (7d) bar
280284
if [ -n "$usage_data" ]; then

0 commit comments

Comments
 (0)