[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

  1. 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.
  2. 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.
  3. 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

[]

View original on GitHub ↗