Expose thinking mode and effort level in status line JSON

Resolved 💬 2 comments Opened Apr 1, 2026 by misette-boob Closed Apr 24, 2026

Problem

The status line script receives a JSON payload with session data, but it does not include thinking mode (extended thinking on/off) or effort level (low/medium/high).

Currently:

  • Effort level is only available by reading ~/.claude/settings.json directly, which works for /config changes but may not reflect runtime overrides
  • Thinking mode toggled via Alt+T (session-only) is not persisted anywhere accessible — alwaysThinkingEnabled in settings.json only reflects the /config toggle

Requested behavior

Add two fields to the status line JSON payload:

{
  "thinking_mode": true,
  "effort_level": "high"
}

These should reflect the current runtime state regardless of how they were changed (settings.json, /config, Alt+T, /think, or any other method).

Use case

Users who customize their status line want to see at a glance whether thinking is active and what effort level is set — especially since these affect cost, latency, and response quality. Without runtime values in the JSON, the status line shows stale or incorrect information.

View original on GitHub ↗

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