Expose effortLevel in custom status line JSON input

Resolved 💬 2 comments Opened Apr 9, 2026 by 70853n Closed Apr 24, 2026

Problem

The custom status line command (statusLine.command in settings) does not include effort_level in the JSON passed via stdin, even though it's a user-configurable setting (settings.jsoneffort_level).

This makes it impossible for custom status line scripts to display the current effort level.

Evidence

Captured the full JSON blob from statusLine.command stdin (v2.1.97) — effort_level is absent:

{
  "session_id": "...",
  "model": { "id": "claude-opus-4-6", "display_name": "Opus 4.6" },
  "context_window": { ... },
  "rate_limits": { ... },
  "cost": { ... }
  // no effortLevel field
}

Meanwhile effort_level is set in settings.json and active in the session.

Requested Change

Add effort or effort_level with values (string: "low", "medium", "high", "max") to the JSON object passed to custom status line commands.

Use Case

Users who customize their status line want to display the current effort level alongside the model name, e.g. Opus 4.6 (medium).

View original on GitHub ↗

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