claude-code - 💡(How to fix) Fix settings.json schema: effortLevel enum missing "max" (and description is outdated) [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#52247Fetched 2026-04-24 06:12:16
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
0
Author
Timeline (top)
labeled ×3commented ×1

The JSON schema for settings.json (served at https://json.schemastore.org/claude-code-settings.json) lists effortLevel.enum as ["low", "medium", "high", "xhigh"], but the docs state that the valid levels are:

ModelLevels
Opus 4.7low, medium, high, xhigh, max
Opus 4.6 and Sonnet 4.6low, medium, high, max

So the enum is missing "max" — a level that the CLI accepts, persists back to ~/.claude/settings.json, and displays as the 5th dot in the /model effort selector labeled "Max".

The schema description is also outdated: it says "Control Opus 4.6 adaptive reasoning effort" even though effort now applies to Opus 4.7, Opus 4.6, and Sonnet 4.6.

Root Cause

The JSON schema for settings.json (served at https://json.schemastore.org/claude-code-settings.json) lists effortLevel.enum as ["low", "medium", "high", "xhigh"], but the docs state that the valid levels are:

ModelLevels
Opus 4.7low, medium, high, xhigh, max
Opus 4.6 and Sonnet 4.6low, medium, high, max

So the enum is missing "max" — a level that the CLI accepts, persists back to ~/.claude/settings.json, and displays as the 5th dot in the /model effort selector labeled "Max".

The schema description is also outdated: it says "Control Opus 4.6 adaptive reasoning effort" even though effort now applies to Opus 4.7, Opus 4.6, and Sonnet 4.6.

RAW_BUFFERClick to expand / collapse

Summary

The JSON schema for settings.json (served at https://json.schemastore.org/claude-code-settings.json) lists effortLevel.enum as ["low", "medium", "high", "xhigh"], but the docs state that the valid levels are:

ModelLevels
Opus 4.7low, medium, high, xhigh, max
Opus 4.6 and Sonnet 4.6low, medium, high, max

So the enum is missing "max" — a level that the CLI accepts, persists back to ~/.claude/settings.json, and displays as the 5th dot in the /model effort selector labeled "Max".

The schema description is also outdated: it says "Control Opus 4.6 adaptive reasoning effort" even though effort now applies to Opus 4.7, Opus 4.6, and Sonnet 4.6.

Repro

  1. In Claude Code, open /model and set effort to the rightmost dot ("Max"). This writes "effortLevel": "max" to ~/.claude/settings.json.
  2. Open ~/.claude/settings.json in a JSON-schema-aware editor (e.g. VS Code, which auto-resolves the claude-code-settings.json schema).
  3. The editor flags "max" as an invalid enum value, despite the UI and docs both treating it as valid.

Suggested fix

Update the schema in the repo that publishes to schemastore:

  • Add "max" to the effortLevel.enum.
  • Update the description to mention Opus 4.7, Opus 4.6, and Sonnet 4.6 (not just 4.6).
  • Optionally note the persistence caveat from the docs: low/medium/high/xhigh persist across sessions; max applies to the current session only unless set via CLAUDE_CODE_EFFORT_LEVEL.

Environment

  • Claude Code v2.1.113
  • macOS 15.x (Darwin 25.4.0)
  • Opus 4.7 (1M context)

extent analysis

TL;DR

Update the JSON schema for settings.json to include "max" in the effortLevel.enum and revise the description to reflect the current models and effort level persistence.

Guidance

Example

No code snippet is necessary for this issue, as it involves updating a JSON schema.

Notes

The fix requires updating the schema in the repository that publishes to schemastore, and the changes should be verified to ensure that the issue is fully resolved.

Recommendation

Apply the workaround by updating the JSON schema, as this will resolve the issue and ensure that the documentation and UI are consistent with the valid effort levels.

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