Feature: expose effort level in statusline JSON schema
Resolved 💬 3 comments Opened Apr 11, 2026 by KCW89 Closed Apr 14, 2026
Summary
The statusline JSON input (piped to the statusline command) is missing the current effort/thinking level. This makes it impossible to display the active effort setting in custom statuslines.
Current behavior
The statusline JSON includes model.id, model.display_name, cost, context_window, rate_limits, etc. — but no effort level field.
Desired behavior
Add an effort (or thinking) field to the statusline JSON, e.g.:
{
"model": {
"id": "claude-opus-4-6[1m]",
"display_name": "Opus 4.6 (1M context)"
},
"effort": {
"level": "max",
"source": "user"
}
}
Where level is one of low | medium | high | max | auto (matching the /effort command options), and source indicates whether it was set explicitly by the user or auto-determined.
Why
- Users can set effort via
/effortor the/modelselector (← → arrows), but there's no way to see the current setting at a glance without opening those menus - The
/helpmenu shows a hardcoded model description that doesn't reflect runtime effort changes - Custom statusline scripts (
statuslinein settings) are the natural place to surface this, but the data isn't available
Environment
- Claude Code v2.1.100
- macOS (darwin)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗