settings.json schema: effortLevel enum missing "max" (and description is outdated)
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:
| Model | Levels |
| :---- | :----- |
| Opus 4.7 | low, medium, high, xhigh, max |
| Opus 4.6 and Sonnet 4.6 | low, 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
- In Claude Code, open
/modeland set effort to the rightmost dot ("Max"). This writes"effortLevel": "max"to~/.claude/settings.json. - Open
~/.claude/settings.jsonin a JSON-schema-aware editor (e.g. VS Code, which auto-resolves theclaude-code-settings.jsonschema). - 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 theeffortLevel.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/xhighpersist across sessions;maxapplies to the current session only unless set viaCLAUDE_CODE_EFFORT_LEVEL.
Environment
- Claude Code v2.1.113
- macOS 15.x (Darwin 25.4.0)
- Opus 4.7 (1M context)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗