claude-code - 💡(How to fix) Fix Bedrock Application Inference Profile (Opus 4.7, 1M context) still returns `thinking.type.enabled is not supported` 400 error

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The previously shipped fix — "Fixed thinking.type.enabled is not supported 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN" (see https://code.claude.com/docs/en/changelog) — does not cover the 1M-context variant. Selecting Opus 4.7 with [1m] via a Bedrock Application Inference Profile ARN still fails with the same 400.

Error Message

API Error: 400 {"type":"error","request_id":"<redacted>","error":{"type":"invalid_request_error","message":""thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior."}}

Root Cause

The previously shipped fix — "Fixed thinking.type.enabled is not supported 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN" (see https://code.claude.com/docs/en/changelog) — does not cover the 1M-context variant. Selecting Opus 4.7 with [1m] via a Bedrock Application Inference Profile ARN still fails with the same 400.

Fix Action

Fix / Workaround

Notes

  • The earlier changelog entry states this 400 was fixed for Application Inference Profile ARNs, but the fix appears to miss the 1M-context code path ([1m] suffix).
  • Workaround: switching off [1m] (plain /model opus) avoids the error, consistent with the routing-path hypothesis.
  • Happy to share the original request_id privately with the Anthropic team if it helps debugging.

Code Example

API Error: 400 {"type":"error","request_id":"<redacted>","error":{"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}}
RAW_BUFFERClick to expand / collapse

Summary

The previously shipped fix — "Fixed thinking.type.enabled is not supported 400 error when using Opus 4.7 via a Bedrock Application Inference Profile ARN" (see https://code.claude.com/docs/en/changelog) — does not cover the 1M-context variant. Selecting Opus 4.7 with [1m] via a Bedrock Application Inference Profile ARN still fails with the same 400.

Environment

  • Claude Code version: 2.1.114
  • Platform: macOS (Darwin 25.4.0), zsh
  • Provider: AWS Bedrock via Application Inference Profile ARN
  • Env vars:
    • CLAUDE_CODE_USE_BEDROCK=1
    • ANTHROPIC_DEFAULT_OPUS_MODEL=arn:aws:bedrock:us-west-2:<acct>:application-inference-profile/<id>
  • Model: Opus 4.7 (claude-opus-4-7), 1M-context variant selected via /model opus[1m]
  • Effort level: xhigh (also reproducible at max)

Reproduction

  1. Export the env vars above so Claude Code routes Opus through a Bedrock Application Inference Profile ARN.
  2. Start Claude Code (claude).
  3. /model opus[1m] to select the 1M-context variant.
  4. /effort xhigh (also reproducible with max).
  5. Send any user message.

Actual behavior

Request fails with:

API Error: 400 {"type":"error","request_id":"<redacted>","error":{"type":"invalid_request_error","message":"\"thinking.type.enabled\" is not supported for this model. Use \"thinking.type.adaptive\" and \"output_config.effort\" to control thinking behavior."}}

Claude Code is still sending thinking.type = "enabled" on this routing path instead of thinking.type = "adaptive" + output_config.effort.

Expected behavior

When the selected model is Opus 4.7 behind a Bedrock Application Inference Profile ARN — including the [1m] 1M-context variant selected via /model opus[1m] — Claude Code should send thinking.type = "adaptive" and translate the effort level into output_config.effort, matching the fix already shipped for the non-1M variant.

Notes

  • The earlier changelog entry states this 400 was fixed for Application Inference Profile ARNs, but the fix appears to miss the 1M-context code path ([1m] suffix).
  • Workaround: switching off [1m] (plain /model opus) avoids the error, consistent with the routing-path hypothesis.
  • Happy to share the original request_id privately with the Anthropic team if it helps debugging.

extent analysis

TL;DR

The issue can be worked around by switching off the 1M-context variant by using /model opus instead of /model opus[1m], although a proper fix would involve updating Claude Code to send thinking.type = "adaptive" for the 1M-context variant of Opus 4.7.

Guidance

  • Verify that the issue is specific to the 1M-context variant by comparing the behavior with and without the [1m] suffix.
  • Check the Claude Code version and ensure it's up-to-date, as the fix for the non-1M variant is already shipped.
  • Investigate the code path for the 1M-context variant to understand why the fix for the non-1M variant does not apply.
  • Consider reaching out to the Anthropic team with the original request_id for further debugging assistance.

Example

No code snippet is provided as the issue seems to be related to the interaction between Claude Code and the Bedrock Application Inference Profile ARN, and the exact code changes required are not clear.

Notes

The provided workaround avoids the error but does not address the underlying issue. The fix shipped for the non-1M variant should be extended to cover the 1M-context variant as well.

Recommendation

Apply the workaround by switching off the 1M-context variant until a proper fix is available, as it allows the use of Opus 4.7 via a Bedrock Application Inference Profile ARN without encountering the 400 error.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

When the selected model is Opus 4.7 behind a Bedrock Application Inference Profile ARN — including the [1m] 1M-context variant selected via /model opus[1m] — Claude Code should send thinking.type = "adaptive" and translate the effort level into output_config.effort, matching the fix already shipped for the non-1M variant.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING