[BUG] /effort accepts and confirms "max" on Haiku 4.5, which doesn't support the effort parameter

Status Open
Reported on v2.1.241
Maintainer reply None cached
Activity 0 comments · opened Sep 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?

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

  1. Open Claude Code (VS Code extension) and start a new session
  2. Select Haiku 4.5 as the model (no prior model used in this session)
  3. Run: /effort max
  4. Observe the confirmation message claiming effort was set to max
  5. (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_

View original on GitHub ↗