Feature: expose effort level in statusline JSON schema

Resolved 💬 3 comments Opened Apr 11, 2026 by KCW89 Closed Apr 14, 2026

Summary

The statusline JSON input (piped to the statusline command) is missing the current effort/thinking level. This makes it impossible to display the active effort setting in custom statuslines.

Current behavior

The statusline JSON includes model.id, model.display_name, cost, context_window, rate_limits, etc. — but no effort level field.

Desired behavior

Add an effort (or thinking) field to the statusline JSON, e.g.:

{
  "model": {
    "id": "claude-opus-4-6[1m]",
    "display_name": "Opus 4.6 (1M context)"
  },
  "effort": {
    "level": "max",
    "source": "user"
  }
}

Where level is one of low | medium | high | max | auto (matching the /effort command options), and source indicates whether it was set explicitly by the user or auto-determined.

Why

  • Users can set effort via /effort or the /model selector (← → arrows), but there's no way to see the current setting at a glance without opening those menus
  • The /help menu shows a hardcoded model description that doesn't reflect runtime effort changes
  • Custom statusline scripts (statusline in settings) are the natural place to surface this, but the data isn't available

Environment

  • Claude Code v2.1.100
  • macOS (darwin)

View original on GitHub ↗

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