Expose reasoning effort level in status line JSON input

Resolved 💬 5 comments Opened Mar 8, 2026 by jwatts21 Closed Apr 24, 2026

Feature Request

Is your feature request related to a problem?

The status line command receives JSON via stdin with model info, context window stats, cost, etc. However, the current reasoning effort level (e.g., low/medium/high or the numeric value like 85) is not included in the JSON payload.

This makes it impossible to display the active effort level in a custom status line, which would be useful for awareness of how Claude is currently configured — especially when toggling between effort levels during a session.

Describe the solution you'd like

Add a field to the status line JSON input, e.g.:

{
  "model": {
    "id": "claude-opus-4-6",
    "display_name": "Opus 4.6",
    "reasoning_effort": "medium"
  }
}

Or as a top-level field:

{
  "reasoning_effort": "medium"
}

Describe alternatives you've considered

  • Tried reading from ~/.claude/.claude.json — effort level is not persisted there.
  • Dumped the full status line JSON — confirmed the field is absent.
  • No environment variable or config file exposes this at runtime.

Additional context

The effort level is a session-level setting that affects behavior significantly. Surfacing it in the status line would help users stay aware of their current configuration alongside model name, context usage, and cost.

View original on GitHub ↗

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