Skip to content

Commit bb0c967

Browse files
fix(claude): parse object-shaped effortLevel from statusline stdin (#508)
fix(claude): parse object-shaped effortLevel from statusline stdin #507 Closes: #507 Assisted-by: claude-code/claude-opus-4-8
1 parent 7382039 commit bb0c967

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

config/bin/sparkfabrik-claude-statusline

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,17 @@ if command -v jq >/dev/null 2>&1; then
4949
ctx_size=$(printf '%s' "$INPUT" | jq -r '.context_window.context_window_size // empty')
5050
five_pct=$(printf '%s' "$INPUT" | jq -r '.rate_limits.five_hour.used_percentage // empty')
5151
seven_pct=$(printf '%s' "$INPUT" | jq -r '.rate_limits.seven_day.used_percentage // empty')
52-
effort=$(printf '%s' "$INPUT" | jq -r '.effortLevel // .effort // empty')
52+
effort=$(printf '%s' "$INPUT" | jq -r '(.effortLevel.level? // .effortLevel? // .effort?) // empty')
5353
else
5454
cur_dir="$PWD"; model=""; over200="false"; ctx_pct=""; ctx_size=""; five_pct=""; seven_pct=""; effort=""
5555
fi
5656

57-
# Claude Code doesn't (yet) emit the effort level on stdin, so fall back to the
58-
# persisted default in settings.json. Tolerates jq absence and a corrupt file.
57+
# Fall back to the persisted default in settings.json when stdin omits it.
58+
# settings.json stores effortLevel as a bare string; stdin uses an object — the
59+
# extraction below handles both. Tolerates jq absence and a corrupt file.
5960
if [ -z "$effort" ] && command -v jq >/dev/null 2>&1; then
6061
settings="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/settings.json"
61-
[ -f "$settings" ] && effort=$(jq -r '.effortLevel // empty' "$settings" 2>/dev/null) || effort="${effort:-}"
62+
[ -f "$settings" ] && effort=$(jq -r '(.effortLevel.level? // .effortLevel?) // empty' "$settings" 2>/dev/null) || effort="${effort:-}"
6263
fi
6364

6465
# Color an integer usage percentage: cyan < 70, amber 70–89, red ≥ 90.

0 commit comments

Comments
 (0)