[BUG] /model command does not persist "max" effort level to settings.json

Resolved 💬 2 comments Opened Mar 23, 2026 by iRollsDev Closed Mar 23, 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?

The /model command persists effortLevel to ~/.claude/settings.json for low, medium, and high, but does not write when set to max. The value in settings.json remains whatever it was before selecting max.

This breaks any tooling that reads effortLevel from settings.json — such as a custom status line script — since there's no other source for the current effort level (the status line input JSON also omits effortLevel).

What Should Happen?

Selecting max effort via /model should write "effortLevel": "max" to ~/.claude/settings.json, consistent with how low/medium/high are persisted.

Error Messages/Logs

# After selecting max via /model:                                                                             
$ cat ~/.claude/settings.json | jq .effortLevel
"medium"   # ← still the previous value, should be "max"

Steps to Reproduce

  1. Run /model and select any effort level (e.g. medium) — confirm ~/.claude/settings.json now has

"effortLevel": "medium"

  1. Run /model and select max effort
  2. Check ~/.claude/settings.json — effortLevel is still "medium", not "max"
  3. Repeat with other levels (low, high) to confirm they DO persist correctly — only max is skipped

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.81

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Warp

Additional Information

The status line JSON input (piped to the status line script) also does not include an effortLevel field, so the only way for external tooling to detect the current effort level is via settings.json. This makes the missing write for max effort a complete blind spot — there is no workaround.

View original on GitHub ↗

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