[BUG] Clarify /model confirmation wording: max effort applies only to the current session
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?
This is a wording-only fix request; no change to effort persistence behavior is requested.
In the /model picker, the footer says Enter to set as default. Selecting Max effort and pressing Enter prints:
Set model to Opus 5.5 (default) and saved as your default for new sessions with max effort
The max effort level is not saved. settings.json gets no effort value, and new sessions start at the model's default (medium for Opus 5.5), not max.
Not saving max is by design. Per the maintainer reply in #35904, max is session-only and the effortLevel setting accepts only low / medium / high / xhigh. The /model confirmation contradicts that design: it tells the user their new-session default is max when it is not.
/effort already handles this correctly. /effort max reports (this session only).
What Should Happen?
The /model confirmation should say the effort was saved only when it actually was. For max, for example:
Set model to Opus 5.5 (default) and saved as your default for new sessions · max effort for this session only
Error Messages/Logs
# No error is shown. 2.1.288, fresh CLAUDE_CONFIG_DIR:
❯ /model # Default (Opus 5.5) → → → Max effort → Enter
⎿ Set model to Opus 5.5 (default) and saved as your default for new sessions with max effort
# status bar in this session: "◈ max · /effort"
$ cat "$CLAUDE_CONFIG_DIR/settings.json"
{}
# New session with the same CLAUDE_CONFIG_DIR: status bar "◐ medium · /effort", /model shows "Medium effort"
# For comparison, /effort reports the same level correctly:
❯ /effort max
⎿ Set effort level to max (this session only): Maximum capability with deepest reasoning. ...
Steps to Reproduce
export CLAUDE_CONFIG_DIR=$(mktemp -d), then runclaudein an empty folder. Accept the first-run screens and the folder trust prompt. Login is not required to open/model.- Run
/model. The default model is selected and the picker showsMedium effort (default) ←/→ to adjust. - Press → three times until it shows
Max effort. The footer readsEnter to set as default · s to use this session only · Esc to cancel. - Press Enter. The banner says
Set model to Opus 5.5 (default) and saved as your default for new sessions with max effort. - Run
cat "$CLAUDE_CONFIG_DIR/settings.json". It prints{}. - Quit and run
claudeagain with the sameCLAUDE_CONFIG_DIR. The status bar showsmedium, notmax.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.288 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Screenshots (2.1.288, fresh CLAUDE_CONFIG_DIR; pty output rendered with xterm.js):
/modelwith Max effort selected. Footer:Enter to set as default · s to use this session only · Esc to cancel- After Enter:
Set model to Opus 5.5 (default) and saved as your default for new sessions with max effort. Status bar:max · /effort - New session with the same config. Status bar:
medium · /effort
<img width="875" height="568" alt="Image" src="https://github.com/user-attachments/assets/50e68481-8b59-4900-bff1-8d70c6af4c79" />
<img width="875" height="568" alt="Image" src="https://github.com/user-attachments/assets/67bf5f7c-3120-417e-8388-21d1272c9c39" />
<img width="875" height="568" alt="Image" src="https://github.com/user-attachments/assets/1f8d8493-a692-47ec-8408-63d056a9906d" />
Likely cause: "saved as your default" appears to refer to the model only, and with max effort is appended to the same sentence whether or not the effort level was saved.
Not a duplicate of:
- #35904 / #91859: whether
maxshould persist. This report accepts the current design; only the/modelconfirmation is wrong. - #99212: the
/modeleffort selector wrapping from Max to Low. A different bug in the same picker.
Environment notes:
- macOS 26.5.1 (arm64), installed via Homebrew cask
claude-code@latest, zsh. - 2.1.288 is the current Homebrew cask. npm has 2.1.289, but its changelog has no
/modelor effort changes. - First seen on 2.1.281 in a normal logged-in session: same banner, and
~/.claude/settings.jsonafterwards had"modelSettings": {"claude-opus-5-5": {"effortLevel": "medium"}}. - The clean repro above was not logged in and drove the TUI through a pseudo-terminal. The message itself does not depend on the terminal.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗