[BUG] effortLevel: "max" in settings.json appears to run as medium

Resolved 💬 3 comments Opened Apr 14, 2026 by danielliu33 Closed May 26, 2026

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_

View original on GitHub ↗

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