Bedrock Application Inference Profile (Opus 4.7, 1M context) still returns `thinking.type.enabled is not supported` 400 error

Resolved 💬 2 comments Opened Apr 20, 2026 by krislavten Closed Apr 20, 2026

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.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗