Include effort level in statusline JSON data
Summary
The statusline script receives JSON data via stdin, but the current effort level is not included in the data. This makes it impossible for custom statusline scripts to display the current effort setting.
Current behavior
When changing the effort level via /model, the statusline JSON only contains:
{
"model": {
"id": "claude-opus-4-6[1m]",
"display_name": "Opus 4.6 (1M context)"
},
"context_window": { ... },
"cost": { ... },
...
}
No effort level field is present. Additionally, /model only changes the effort for the current session and does not update settings.json, so there is no reliable way for the statusline script to detect the current effort level.
Expected behavior
The statusline JSON should include the current session's effort level, e.g.:
{
"model": {
"id": "claude-opus-4-6[1m]",
"display_name": "Opus 4.6 (1M context)",
"effort_level": "max"
},
...
}
This would allow custom statusline scripts to display and react to effort level changes made via /model.
Workaround attempted
Reading effortLevel from ~/.claude/settings.json in the statusline script — but this doesn't reflect session-scoped changes made via /model.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗