Feature: expose effortLevel in statusline JSON input
Summary
The statusline command receives a JSON payload via stdin with fields like model, context_window, cost, rate_limits, vim, agent, and worktree. However, the current reasoning effort level (e.g., "low", "medium", "high", or the numeric value) is not included in this JSON.
Motivation
The effort level can change dynamically during a session (via /effortLevel or settings), and it meaningfully affects model behavior and cost. Users who customize their statusline would benefit from being able to display the current effort level alongside other session metadata like model name and context usage.
Currently, the only workaround is reading ~/.claude/settings.json, but that only reflects the default — not the runtime value if it was changed mid-session.
Proposed Change
Add an effort_level (or similar) field to the statusline JSON payload, e.g.:
{
"effort_level": "high"
}
or with the numeric value:
{
"effort_level": 99
}
This would allow statusline scripts to display the current effort level accurately.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗