Expose reasoning effort level in status line JSON

Resolved 💬 4 comments Opened Mar 20, 2026 by tbuchboeck Closed Mar 20, 2026

Feature Request

The custom status line (statusLine setting) receives JSON via stdin with model info, context window, rate limits, vim mode, etc. — but reasoning effort (high/medium/low) is not included.

Use Case

When customizing the status line, it's useful to see the current reasoning effort level at a glance, especially when switching between effort levels during a session. Currently there's no way to display this without reading internal state.

Proposed Solution

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

{
  "reasoning": {
    "effort": "high"
  }
}

Or alternatively under model:

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

Current Workaround

None — the effort level is not exposed in any readable config file or status line data.

Environment

  • Claude Code on WSL2 (Ubuntu 24.04)
  • Custom status line script using jq to parse the JSON input

View original on GitHub ↗

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