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

#25965 [Bug]: thinking.display="summarized" not set for Claude Opus 4.7, causing silent loss of reasoning content

  • State: open
  • Author: @minimAluminiumalism
  • Labels: llm translation, stale

## Summary

Claude Opus 4.7 (released 2026-04-16) introduced a silent breaking change: thinking content is `omitted` by default. Callers must explicitly set `thinking.display = "summarized"` to restore the visible reasoning summary that was the default on Opus 4.6.

LiteLLM `_map_reasoning_effort()` in `litellm/llms/anthropic/chat/transformation.py` builds the `thinking` dict for Claude 4.6+ models but does not set the `display` field. Result: any `litellm.completion(model="claude-opus-4-7", reasoning_effort=...)` returns HTTP 200, charges thinking tokens, ships an empty `thinking_blocks[].thinking` field, and `reasoning_content == ""`. No error is raised. Existing 4.6 code that relies on `reasoning_content` silently degrades after switching to 4.7.

## Reproduction

litellm @ HEAD (`f69b9d6`, 2026-04-17), `vertex_ai/claude-opus-4-7`, `locations/global` endpoint:

```python import litellm

resp = litellm.completion( model="vertex_ai/claude-opus-4-7", vertex_credentials="<sa.json>", vertex_project="<project>", vertex_location="global", messages=[{"role": "user", "content": "<any prompt that needs reasoning>"}], max_tokens=4096, reasoning_effort="max", #…

GitHub resolver

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

Refresh page
vote history (1 events)
#0 of 0 · 31d18h16m39s ago — entered · #import:https:::github.com:berriai:litellm post #2673
The left issue is harder because it involves provider-specific reasoning-output behavior, model-version compatibility, and validation of silent response degradation across Anthropic integrations. The right issue is a narrower request-parameter translation with a more localized implementation and test surface.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search