claude-code - 💡(How to fix) Fix [Feature Request] Expose effort and output_style in statusLine JSON input [2 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#46490Fetched 2026-04-11 06:18:55
View on GitHub
Comments
2
Participants
2
Timeline
7
Reactions
0
Author
Timeline (top)
labeled ×3commented ×2mentioned ×1subscribed ×1

Error Message

exception?

RAW_BUFFERClick to expand / collapse

Bug Description Subject: Expose current effort level in statusLine JSON input

The ask: Add an effort (or reasoning_effort) field to the JSON object passed to statusLine commands on stdin. Same goes for output_style.

Why this is a real gap, not a nice-to-have:

  1. Effort is an officially supported first-class feature. You ship effortLevel in settings.json and a /effort slash command with four levels (low/medium/high/max). You've invested in making this configurable — but the one surface users look at constantly to understand their session has no idea it exists.
  2. The status line exposes every other piece of session state. vim.mode, agent.name, worktree.branch, context %, cost, rate limits — all of it. The rule seems to be "if it changes during a session, surface it." Effort changes during a session via /effort. Why is it the exception?
  3. The settings.json fallback is actively misleading. I tried to work around this by having my statusline script read effortLevel from ~/.claude/settings.json. But /effort max is session-only and never persisted, so my status line now confidently displays "high" while the session is actually running on "max". That's worse than no display at all — it's a lie. And there is no file, env var, or IPC surface a hook can read to get the truth. I looked. … Note: Content was truncated.

extent analysis

TL;DR

Add an "effort" or "reasoning_effort" field to the JSON object passed to statusLine commands to expose the current effort level.

Guidance

  • Review the statusLine command implementation to determine where the JSON object is constructed and modify it to include the effort level.
  • Consider adding the "output_style" field to the JSON object as well, as mentioned in the issue.
  • Investigate the settings.json file and the /effort slash command to understand how the effort level is configured and updated.
  • Verify that the effort level is correctly updated in the statusLine JSON object when the /effort command is used.

Example

No code example is provided due to the lack of specific implementation details in the issue.

Notes

The issue highlights a gap in the current implementation, but the exact solution may depend on the specific codebase and implementation details, which are not provided.

Recommendation

Apply workaround: Modify the statusLine command to include the effort level in the JSON object, as this is a specific and targeted change that addresses the reported issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING