[BUG] /effort accepts and confirms "max" on Haiku 4.5, which doesn't support the effort parameter
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?
Running /effort max while Haiku 4.5 is the active model returns a success confirmation:
"Set effort level to max (this session only): Maximum capability with deepest reasoning. May use excessive tokens resulting in long response times or overthinking. Use sparingly for the hardest tasks."
However, Haiku 4.5 does not support the effort parameter at all — only manual extended thinking with budget_tokens. The command should not silently accept an effort level for a model that can't act on it.
This is distinct from the already-reported issues about the effort selector staying visible after switching mid-task (#2323/#2325) and the 400 error when a carried-over effort setting hits Haiku (#30760): in my case there was no model switch — Haiku 4.5 was already selected when /effort max was run from a fresh session, and the command still reported success.
Expected behavior: /effort should either reject the command with a message explaining Haiku 4.5 doesn't support effort, or the /effort command/selector should not be available at all while Haiku 4.5 is selected.
I haven't yet confirmed whether a subsequent message actually errors out (400) or silently drops the setting — happy to test further if useful.
What Should Happen?
Running /effort on a model that doesn't support the effort parameter (e.g. Haiku 4.5) should either be rejected with a clear message explaining the model doesn't support it, or the /effort command/selector should be hidden/disabled entirely while that model is active — matching the behavior already fixed for the mid-task model-switch case in #2325.
Error Messages/Logs
No error was thrown in this session — the command returned a success message instead of an error, which is itself the bug:
"Set effort level to max (this session only): Maximum capability with deepest reasoning. May use excessive tokens resulting in long response times or overthinking. Use sparingly for the hardest tasks."
I have not yet tested whether a subsequent message triggers a 400 API error (as seen in #30760 when effort carries over from another model) or whether the setting is silently ignored.
Steps to Reproduce
- Open Claude Code (VS Code extension) and start a new session
- Select Haiku 4.5 as the model (no prior model used in this session)
- Run: /effort max
- Observe the confirmation message claiming effort was set to max
- (Optional, untested) Send a follow-up message and check whether the API call errors (400) or the effort setting is silently dropped
Claude Model
Other
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.241
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_