File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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' )
5353else
5454 cur_dir=" $PWD " ; model=" " ; over200=" false" ; ctx_pct=" " ; ctx_size=" " ; five_pct=" " ; seven_pct=" " ; effort=" "
5555fi
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.
5960if [ -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:- } "
6263fi
6364
6465# Color an integer usage percentage: cyan < 70, amber 70–89, red ≥ 90.
You can’t perform that action at this time.
0 commit comments