Expose effortLevel in custom status line JSON input
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.json → effort_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).
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗