[Bug] Statusline effort level not updating mid-session due to stale settings.json fallback
Status Open
Reported on v2.1.221
Maintainer reply None cached
Activity 0 comments · opened Aug 27, 2026
Bug Description
- Your session was at max the whole time — Claude Code sends effort.level: "max" to the statusline. The ◆ max · /effort hint near the prompt was correct.
- Your ~/.claude/statusline.sh never looked at that field. It read effortLevel from ~/.claude/settings.json, which still holds an old "high" value that /model does not update. So the chip could never change mid-session.
- Fix applied: the script now reads the live effort.level from the JSON Claude Code pipes in, and only falls back to settings.json if that field is missing. I also added icons for the new tiers (◆ max, ◈ xhigh).
The chip will show ◆ max on the next redraw — send any message and look at the bottom line.
One caveat, separate from the statusline: /model said it saved max "for new sessions", but settings.json still contains "effortLevel": "high". If a new session ever starts at high, that stale key is the reason. Want me to set it to max there too?
Environment Info
- Platform: linux
- Terminal: xterm-256color
- Version: 2.1.221
- Feedback ID: de5ebd9f-5427-4f59-9726-372aa5a365db
Errors
[]