[BUG] effortLevel: "max" in settings.json appears to run as medium
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
What happened:
Global ~/.claude/settings.json has "effortLevel": "max" and "alwaysThinkingEnabled": true. /model reports "max effort". But thinking behavior looks closer to medium — short or absent thinking blocks
on non-trivial prompts, less deliberation than expected.
Expected:
Thinking output consistent with max effort (visibly longer deliberation on complex tasks).
Actual:
Behavior feels like medium despite settings + /model both reporting max.
Config (no override found):
- ~/.claude/settings.json → "effortLevel": "max" ✅
- ~/.claude/settings.local.json → not set
- Project .claude/settings.local.json → not set
- No env vars overriding
Model: Opus 4.6 (1M context)
Ask:
Can the runtime expose the actually applied effort level (not just the configured one) — e.g., in the status bar, in /model output, or via a /effort slash command? Hard to tell from the outside
whether max is really being sent.
What Should Happen?
Global ~/.claude/settings.json has "effortLevel": "max" and "alwaysThinkingEnabled": true. /model reports "max effort". But thinking behavior looks closer to medium — short or absent thinking blocks
on non-trivial prompts, less deliberation than expected.
Error Messages/Logs
Steps to Reproduce
What happened:
Global ~/.claude/settings.json has "effortLevel": "max" and "alwaysThinkingEnabled": true. /model reports "max effort". But thinking behavior looks closer to medium — short or absent thinking blocks
on non-trivial prompts, less deliberation than expected.
Expected:
Thinking output consistent with max effort (visibly longer deliberation on complex tasks).
Actual:
Behavior feels like medium despite settings + /model both reporting max.
Config (no override found):
- ~/.claude/settings.json → "effortLevel": "max" ✅
- ~/.claude/settings.local.json → not set
- Project .claude/settings.local.json → not set
- No env vars overriding
Model: Opus 4.6 (1M context)
Ask:
Can the runtime expose the actually applied effort level (not just the configured one) — e.g., in the status bar, in /model output, or via a /effort slash command? Hard to tell from the outside
whether max is really being sent.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
v2.1.107
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗