Add reasoning effort level to status line variables

Resolved 💬 3 comments Opened Apr 7, 2026 by bdJohnson72 Closed Apr 11, 2026

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
  • /effort command — shows the setting, not the per-message actual
  • Inferring from response length/depth — unreliable

Environment

  • Claude Code CLI
  • Using effort: auto setting

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗