Add reasoning effort level to status line variables
Feature Request
Add a reasoning_effort (or similar) variable to the status line system so users can see what effort level is being applied per-message.
Motivation
When using effort: auto, the system dynamically selects an effort level per request. Currently there's no way to observe what level was chosen — the only visibility is /effort which shows the setting (e.g., "auto (currently medium)") but not the actual per-message value.
Power users who want to evaluate whether auto is making good decisions need to see the actual effort applied to each response. This is especially useful for:
- Calibrating auto behavior — understanding when auto chooses low vs. high effort
- Cost/latency debugging — correlating response quality with effort level
- Workflow tuning — deciding whether to override auto for certain task types
Proposed Solution
Add a status line variable like reasoning_effort.current (or effort.level) that reflects the effort level used for the most recent response. Example values: the numeric level (e.g., 85) or the bucketed label (low/medium/high).
Example status line config:
{
"statusLine": "effort: {reasoning_effort.current} | ctx: {context_window.used_percentage}%"
}
Alternatives Considered
- Asking the model directly ("what effort are you at?") — works but wastes tokens and context
/effortcommand — shows the setting, not the per-message actual- Inferring from response length/depth — unreliable
Environment
- Claude Code CLI
- Using
effort: autosetting
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗