claude-code - 💡(How to fix) Fix Include effortLevel in statusline stdin JSON [1 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#47780Fetched 2026-04-15 06:42:33
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Author
Timeline (top)
labeled ×2commented ×1

Root Cause

  • effortLevel is not reliably available from ~/.claude/settings.json because changes made via /model are not always persisted immediately.
  • Models like Haiku do not support effort levels, but the stale value remains in settings.json, leading to inaccurate display.
  • Including it in stdin JSON would provide the accurate, per-invocation value and allow statusline scripts to display it alongside the model name (e.g., "Opus 4.6/high").

Code Example

{
  "model": {"display_name": "Opus 4.6"},
  "effort_level": "high",
  ...
}
RAW_BUFFERClick to expand / collapse

Feature Request

The statusline stdin JSON currently includes model, context_window, rate_limits, and cost. It would be helpful to also include the current effortLevel setting.

Why

  • effortLevel is not reliably available from ~/.claude/settings.json because changes made via /model are not always persisted immediately.
  • Models like Haiku do not support effort levels, but the stale value remains in settings.json, leading to inaccurate display.
  • Including it in stdin JSON would provide the accurate, per-invocation value and allow statusline scripts to display it alongside the model name (e.g., "Opus 4.6/high").

Proposed change

Add an optional effort_level field to the statusline stdin JSON:

{
  "model": {"display_name": "Opus 4.6"},
  "effort_level": "high",
  ...
}

When effort level is not applicable (e.g., Haiku), the field can be omitted or null.

extent analysis

TL;DR

Add an optional effort_level field to the statusline stdin JSON to provide the accurate, per-invocation effort level value.

Guidance

  • Review the current implementation of the statusline stdin JSON to determine the best approach for adding the effort_level field.
  • Consider the cases where effort_level is not applicable (e.g., Haiku model) and decide whether to omit the field or set it to null.
  • Update the statusline scripts to handle the new effort_level field and display it alongside the model name.
  • Test the changes to ensure the effort_level value is accurately displayed and updated in real-time.

Example

{
  "model": {"display_name": "Opus 4.6"},
  "effort_level": "high",
  "context_window": "...",
  "rate_limits": "...",
  "cost": "..."
}

Notes

The proposed change requires updates to the statusline stdin JSON and the corresponding scripts that handle this data. The implementation details may vary depending on the specific requirements and constraints of the project.

Recommendation

Apply workaround: Add the effort_level field to the statusline stdin JSON as proposed, to provide accurate and up-to-date effort level information to statusline scripts.

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

claude-code - 💡(How to fix) Fix Include effortLevel in statusline stdin JSON [1 comments, 2 participants]