Support persistent "max" effort level in settings.json

Resolved 💬 5 comments Opened Apr 18, 2026 by Ashkaan Closed Apr 19, 2026

Summary

The VSCode extension UI exposes five effort levels (low, medium, high, xhigh, max), but the effortLevel setting in ~/.claude/settings.json accepts only four — "max" is excluded from the schema enum, so it can't be persisted as a default. Users who pick "Max" in the UI get it for the current session only; every new tab starts at xhigh.

Repro

  1. Set "effortLevel": "max" in ~/.claude/settings.json.
  2. Open a new Claude tab in VSCode on Opus 4.7.
  3. Observe: tab opens at "Extra high" (xhigh), not "Max". The setting is silently ignored.

Evidence (extension v2.1.114)

  • claude-code-settings.schema.jsoneffortLevel enum: ["low","medium","high","xhigh"]
  • webview/index.js FN0 label map: {low:"Low", medium:"Medium", high:"High", xhigh:"Extra high", max:"Max"} — UI has "max"
  • No CLAUDE_CODE_EFFORT_LEVEL env var exists to override

Requested change

Either:

  • (a) add "max" to the effortLevel enum in the schema and CLI validation, or
  • (b) introduce a defaultEffortLevel setting that accepts all five UI values.

Use case

Max-plan subscriber on Opus 4.7 wants every new tab to start at Max without per-tab manual selection.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗