Surface resolved reasoning effort level when set to 'auto'

Resolved 💬 3 comments Opened Apr 9, 2026 by thamam Closed Apr 13, 2026

Problem

When reasoning effort is set to auto, the UI shows "auto" everywhere — but there's no way to see what effort level was actually used for each turn.

This makes it impossible to:

  • Understand why a response was more/less thorough than expected
  • Debug whether auto is making good choices for your workflow
  • Correlate effort level with response quality or token usage

Current behavior

  • /effort auto sets the mode
  • Status line shows "auto"
  • Response metadata (JSONL session logs, API response) contains no reasoning_effort or resolved_effort field
  • The API response usage object has token counts but no effort indicator

Expected behavior

When effort is auto, surface the resolved effort level:

  1. In the UI — status line or response header, e.g., "auto → high"
  2. In session JSONL — include a resolved_effort field in the assistant message metadata
  3. In the API response (upstream request to the Messages API) — echo back the actual effort level used in the response body

Even just (1) would be a significant improvement for observability.

Context

  • The only indirect proxy today is thinking token count (more = likely higher effort), but that's a heuristic, not a definitive signal
  • The effort parameter is currently request-only (output_config.effort) with no echo in the response

View original on GitHub ↗

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