[BUG] 2.1.68 Sends effort parameter when using custom model

Status Fixed / completed
Reported on v2.1.68
Maintainer reply ✓ Yes — hackyon-anthropic
Activity 12 comments · opened Mar 4, 2026 · closed Mar 5, 2026
💡 Likely answer: A maintainer (hackyon-anthropic, collaborator) responded on this thread — see the highlighted reply below.

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?

We are using AWS Bedrock and using an inference profile , after the 2.1.68 update its trying to send the effort parameter but, our claude sonnet 4.5 on bedrock govcloud doesn't support it. We get ⎿ API Error: 400 This model does not support the effort parameter.

Need a way to disable effort parameter on custom model.

What Should Happen?

Have a setting we can specify to disable effort parameter when using custom model.

Error Messages/Logs

API Error: 400 This model does not support the effort parameter.

Steps to Reproduce

Reproduction is hard unless you have access to a model that doesn't support effort and you set it up as a custom model.

Claude Model

Sonnet (default)

Is this a regression?

Yes, this worked in a previous version

Last Working Version

2.1.66

Claude Code Version

2.1.68

Platform

AWS Bedrock

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

12 Comments

copilot-fy-184 · 5 months ago

same experience even when the the effort parameter is not defined.

taylorbasso · 5 months ago

Same here, also tried disabling ‘effort’ via CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 to no effect

copilot-fy-184 · 5 months ago

I downgraded my claude code vscode extension to version 2.1.66 and this fixed it for me.

openrory · 5 months ago
  1. set your env variable to disable automatic updates:
"env": {
    "DISABLE_AUTOUPDATER": "1"
  }
  1. and then downgrade to 2.1.66:
npm login
npm install -g @anthropic-ai/claude-code@2.1.66
jreisch02 · 5 months ago

Same issue here - affecting our users for both MacOS and Linux. More details below which mirror the original report from @copilot-fy-100

Bug: effort parameter breaks Sonnet and Haiku on Bedrock (2.1.68+)

Summary

Starting in v2.1.68, Claude Code sends an effort parameter on every API request. On AWS Bedrock, only Opus 4.6 inference profiles accept this parameter. Sonnet 4.6 and Haiku 4.5 inference profiles reject it immediately with a 400 error. This makes two of the three models completely unusable on Bedrock.

What works and what doesn't

Model              Main Session   Subagents      Status
─────────────────  ─────────────  ─────────────  ──────────────────
Opus 4.6           ✓ Works        ✓ Works        Only usable model
Sonnet 4.6         ✗ Fails 400    ✗ Fails 400    Completely broken
Haiku 4.5          ✗ Fails 400    ✗ Fails 400    Completely broken

All three models were tested as both the main session (via /model) and as subagents. Sonnet and Haiku fail in all contexts. This affects both macOS and Linux users on Bedrock.

Practical impact:

  • Explore agents (which hardcode Haiku) are completely broken
  • Users who select Sonnet cannot use Claude Code at all
  • CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 does NOT fix the issue (tested)
  • The only workaround is to pin to v2.1.66

Claude Code already has Bedrock detection logic — the debug log shows "Fast mode unavailable: Fast mode is not available on Bedrock, Vertex, or Foundry" before API calls, proving that fast mode correctly disables itself on Bedrock. The effort parameter code path does not appear to use the same detection.

Environment

| Component | Value |
|-----------|-------|
| Claude Code version | 2.1.68 (broken), 2.1.69 (broken, different error msg), 2.1.66 works. (2.1.67 not tested.) |
| Platforms | macOS 15.x (arm64), Linux (also affected) |
| Backend | AWS Bedrock (custom inference profiles via the Invoke API) |
| Model aliases | opus[1m], sonnet, haiku |

Bedrock configuration (env vars)

The following are set by our claude code wrapper script (anonymized for bug report)

ANTHROPIC_DEFAULT_OPUS_MODEL=arn:aws:bedrock:<region>:<account-id>:application-inference-profile/<opus-profile-id>
ANTHROPIC_DEFAULT_SONNET_MODEL=arn:aws:bedrock:<region>:<account-id>:application-inference-profile/<sonnet-profile-id>
ANTHROPIC_DEFAULT_HAIKU_MODEL=arn:aws:bedrock:<region>:<account-id>:application-inference-profile/<haiku-profile-id>

Error messages

v2.1.68:

API Error: 400 This model does not support the effort parameter.

v2.1.69 (same root cause, different error message):

API Error: 400 output_config.effort: Extra inputs are not permitted

The v2.1.69 error indicates the effort parameter was moved into an output_config object. Bedrock still rejects it for Sonnet and Haiku.

How to reproduce

Method 1 — Main session (simplest):

  1. Configure Claude Code with Bedrock inference profiles (env vars above)
  2. Select Sonnet or Haiku: /model sonnet or /model haiku
  3. Send any message
  4. Immediate 400 error. Claude Code cannot respond.

Method 2 — Subagent (Explore):

  1. Start a session with Opus: /model opus[1m]
  2. Claude works normally for the main session
  3. Trigger an Explore agent (any codebase search)
  4. Explore agent fails instantly (< 1 second) because it uses Haiku internally

Method 3 — Session resume:
The error also occurs on the first API call when resuming a session, before any user interaction.

Root cause (confirmed via ANTHROPIC_LOG=debug)

Debug logging reveals the exact failure. Every API request on 2.1.68+ includes:

  • output_config: { effort: ... } in the request body
  • 'anthropic-beta': 'claude-code-20250219,effort-2025-11-24' in the headers

Bedrock's response depends on the model:

  • Opus 4.6 inference profiles accept output_config.effort200 OK
  • Sonnet 4.6 and Haiku 4.5 inference profiles reject it → 400 Bad Request

Claude Code sends the effort parameter unconditionally to all models. It does not check whether the target model/inference profile supports it.

Failing request (Haiku Explore agent)

POST /model/arn:aws:bedrock:<region>:<account-id>:application-inference-profile%2F<haiku-profile-id>/invoke-with-response-stream

Headers:
  anthropic-beta: claude-code-20250219,effort-2025-11-24
  anthropic-version: 2023-06-01
  user-agent: claude-cli/2.1.69 (external, cli)

Body:
  max_tokens: 32000
  output_config: { effort: ... }   ← REJECTED BY BEDROCK
  anthropic_version: bedrock-2023-05-31

Response: 400 output_config.effort: Extra inputs are not permitted (477ms, not retried)

Comparison in the same session

Opus profile   → POST .../invoke-with-response-stream → 200 (2-4 sec)
Haiku profile  → POST .../invoke-with-response-stream → 400 (477ms)
Sonnet profile → POST .../invoke-with-response-stream → 400 (immediate)

Debug log evidence

[DEBUG] Fast mode unavailable: Fast mode is not available on Bedrock, Vertex, or Foundry
[ERROR] API error (attempt 1/11): 400 400 output_config.effort: Extra inputs are not permitted
[ERROR] Error in API request: 400 output_config.effort: Extra inputs are not permitted

The "Fast mode unavailable" check confirms Claude Code has Bedrock detection logic, but the effort parameter code path does not use it.

Workaround

Pin to v2.1.66. This is the last version that does not send the effort parameter.

The following do NOT help:

  • CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 — tested, effort parameter still sent
  • CLAUDE_CODE_EFFORT_LEVEL / effortLevel setting — controls the effort value but does not prevent the parameter from being sent

Expected behavior

Claude Code should not send output_config.effort to models that don't support it on Bedrock. The fix could be:

  1. Only send output_config.effort to Opus 4.6 inference profiles on Bedrock, or
  2. Strip the effort parameter in the Bedrock API adapter (similar to how fast mode is already disabled on Bedrock), or
  3. Make CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 actually suppress the effort parameter

Background: effort parameter in 2.1.68+

The 2.1.68 release notes introduced this intentionally:

"Opus 4.6 now defaults to medium effort for Max and Team subscribers."

The effort parameter is a deliberate feature for Opus 4.6. The bug is that it's sent to all models on Bedrock, not just Opus.

Prior Bedrock fixes (none address this issue)

| Version | Fix | Relevance |
|---------|-----|-----------|
| 2.1.41 | "Fixed Agent Teams using wrong model identifier for Bedrock" | Model ID resolution only |
| 2.1.45 | "Fixed Agent Teams failing on Bedrock by propagating env vars" | Env var propagation only |
| 2.1.49 | SDK adds supportsEffort model capability field | Exists but does not gate Bedrock requests |
| 2.1.68 | "Opus 4.6 now defaults to medium effort" | Introduces the effort parameter; no Bedrock exclusion |

Related

  • Fast mode is already disabled on Bedrock — the effort parameter should follow the same pattern
  • The Anthropic Messages API supports effort but the Bedrock Invoke API does not (for Sonnet/Haiku)
joshwestbrook · 5 months ago

@hackyon-anthropic Why was this issue closed as completed? We are still experiencing this same issue when using haiku/sonnet bedrock inference profiles on CC 2.1.69. Even when using Opus as the primary model, Explore agents, WebFetch, etc that use secondary models experience the API Error: 400 output_config.effort: Extra inputs are not permitted error

jreisch02 · 5 months ago

@ollie-anthropic @hackyon-anthropic - similar to @joshwestbrook, our users are still impacted by this on both MacOS and Linux on 2.1.69 (latest as of 9am 3/5/2026) using AWS Bedrock.

Let us know if you have more information on a forthcoming fix and would consider reopening this ticket until this is resolved. Thanks!

copilot-fy-100 · 5 months ago

As a workaround we have downgraded versions. For the CLI we added

"autoUpdatesChannel": "stable",

to settings.json and then ran claude update which "upgraded" us to the latest stable which yesterday was 2.1.50.

For the VSCode extension next to the uninstall button there is a drop down and you can say install specific version.

hackyon-anthropic collaborator · 5 months ago

Sorry folks, this should be fixed in today's release v2.1.70 that's coming out imminently

shibayu36 · 5 months ago

@hackyon-anthropic I upgraded to v2.1.70, but now even models that support the effort parameter — such as Opus and Sonnet — are showing no support for it. Is this the intended behavior? My expectation was that Opus and Sonnet would send the effort parameter, while Haiku would not.

<img width="2500" height="454" alt="Image" src="https://github.com/user-attachments/assets/4e7d8a5e-2b15-41d7-b071-4c68b751b657" />

jreisch02 · 5 months ago

Thanks for the quick resolution @hackyon-anthropic and the update! Much appreciated.

I can confirm that we no longer see the 400 API errors on our end for both our MacOS and Linux users.

@shibayu36 raises a different question of the interactive adaptive effort UI in the /model picker dialog not working for custom ARNs on Bedrock, which we also see. Happy to file a new ticket for this.

github-actions[bot] · 5 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.