6 views
-/https://github.com/berriai/litellm/issues/28196
GitHub · issue

#28196 Anthropic reasoning_effort silently dropped when passed as Reasoning(effort, summary) dict (regression in v1.85.0)

  • State: open
  • Author: @cwang-otto
  • Labels: llm translation

## Bug

When calling `litellm.aresponses(reasoning=Reasoning(effort="low", summary="concise"), model="anthropic/...")`, the `thinking` parameter is silently dropped before reaching Anthropic. The model produces 0 reasoning_tokens and no `thinking_blocks`, even though `reasoning_effort` was requested.

Introduced by [#25359](https://github.com/BerriAI/litellm/pull/25359) — that PR added an `if "summary" in reasoning_param` branch to the Responses→Chat parser, but the downstream Anthropic transformation still guards on `isinstance(value, str)`.

## Affected versions

`v1.85.0`+ (verified). `v1.83.0` works correctly (the dict-keeping branch didn't exist yet).

## Root cause

**Step 1** — Responses→Chat parser keeps the full dict when `summary` is set ([`litellm/responses/litellm_completion_transformation/transformation.py:184-200`](https://github.com/BerriAI/litellm/blob/v1.85.0/litellm/responses/litellm_completion_transformation/transformation.py#L184-L200)):

```python reasoning_param = responses_api_request.get("reasoning") if reasoning_param: if isinstance(reasoning_param, dict): if "summary" in reasoning_param: reasoning_effort = reasoning_param # ←…

GitHub resolver

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

Refresh page
vote history (2 events)
#0 of 0 · 31d18h6m22s ago — entered · #import:https:::github.com:berriai:litellm post #2855
The right issue is harder because it spans pricing-model fallback construction, cache-aware billing behavior, tiered field propagation, and regression coverage across router and cost-calculation paths. The left issue is comparatively localized to normalizing a reasoning value consistently between adjacent request transformations.
#0 of 0 · 31d18h1m44s ago — current · #import:https:::github.com:berriai:litellm post #2935
Issue #28196 is harder because it requires coordinated changes across request transformation layers, provider-specific parameter handling, regression tests, and compatibility validation. Issue #33155 lacks enough actionable technical scope to indicate comparable implementation work.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search