8 views
-/https://github.com/berriai/litellm/issues/32973
GitHub · issue

#32973 [Bug]: legacy thinking={type:enabled, budget_tokens} not upgraded to adaptive on /chat/completions & Bedrock Converse for 4.6+ models (400), but works on /v1/messages

  • State: open
  • Author: @akapur99
  • Labels: llm translation

### What happened?

Clients that send the legacy extended-thinking shape `thinking={"type": "enabled", "budget_tokens": N}` to a 4.6+ Claude model (Opus 4.7 / 4.8, Sonnet 5, Fable 5) through `/chat/completions` have it forwarded to the provider unchanged, and the provider rejects it with a 400. The exact same request sent to `/v1/messages` succeeds, because the messages passthrough already translates the legacy shape up to `thinking={"type": "adaptive"}` + `output_config.effort`

This is the mirror image of the downgrade work in #32867 and #32944. Those handle adaptive -> legacy for pre-4.6 models across `/chat/completions`, `/v1/messages`, and Bedrock Converse. The upgrade direction (legacy enabled -> adaptive for 4.6+ models) exists only on `/v1/messages` (`_translate_legacy_thinking_for_adaptive_model`) and is missing from the whole chat/completions family: `AnthropicConfig.map_openai_params`, Bedrock Converse, Bedrock Invoke chat, Vertex chat, and Responses

Per the Anthropic API, `thinking.type=enabled` with `budget_tokens` is rejected with a 400 on Opus 4.7 / 4.8, Sonnet 5, and Fable 5, and is deprecated on Opus/Sonnet 4.6. So any client still on the budget-based interface th…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (3 events)
#0 of 0 · 31d18h47m11s ago — entered · #import:https:::github.com:berriai:litellm post #2083
Issue 32973 is harder because it requires coordinated provider and endpoint translation changes across multiple request paths, model-version conditions, and compatibility cases, with substantial regression-test coverage. Issue 33135 is comparatively localized to temporary-path handling and cleanup in one migration script.
The right issue is harder because it requires coordinated behavior changes across multiple provider and endpoint translation paths, plus broader compatibility and regression testing. The left is a contained metadata/catalog update.
#0 of 0 · 31d17h41m8s ago — current · #import:https:::github.com:berriai:litellm post #3187
32973 requires coordinated compatibility logic across multiple request pathways, provider adapters, model generations, and regression tests, creating substantially broader scope and integration risk. 22159 is comparatively localized to initialization and lazy-loading behavior, with narrower testing and rollout concerns.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search