7 views
-/https://github.com/berriai/litellm/issues/35021
GitHub · issue

#35021 [Bug]: github_copilot provider drops reasoning_text/reasoning_opaque during streaming (works fine non-streaming)

  • State: open
  • Author: @jwhandy3
  • Labels: bug, proxy, llm translation

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

Non-streaming completions via `github_copilot/*` correctly surface real extended-thinking output in `message.provider_specific_fields.reasoning_text` (+ `reasoning_opaque` signature) when using `thinking: {"type": "adaptive"}` for adaptive-thinking-capable models (`claude-sonnet-5`, `claude-opus-4.6/4.7/4.8`, `claude-sonnet-4.6`). The identical request with `stream=True` returns **zero** reasoning data — only regular content deltas — even though GitHub Copilot's raw API does stream reasoning for this exact request (verified via raw HTTP, bypassing litellm entirely: the SSE contains `delta.reasoning_text` per chunk and a final `delta.reasoning_opaque` chunk).

**Root cause:** `GithubCopilotConfig` (`litellm/llms/github_copilot/chat/transformation.py`) extends `OpenAIConfig` and doesn't override streaming, so it falls back to the generic `OpenAIChatCompletionStreamingHandler.chunk_parser()`, which just does `ModelResponseStream(**chunk)`. That handler has no special-case mapping for Copilot's `reasoning_text`/`reasoning_opaque` keys, so Pydantic …

GitHub resolver

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

Refresh page
vote history (1 events)
#0 of 0 · 31d18h17m13s ago — entered · #import:https:::github.com:berriai:litellm post #2770
The right issue is harder because it touches proxy-wide request routing, configuration, and security-sensitive header propagation across multiple forwarding paths. The left issue is more localized to provider-specific streaming translation and associated parsing tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search