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

#34094 [Bug]: chatgpt/* ignores the client's stream:false since v1.90.0; /v1/responses returns raw SSE and /chat/completions raises "Unknown items in responses API response: []"

  • State: open
  • Author: @SunSet0418
  • Labels: 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?

Since v1.90.0, a non-streaming request to a `chatgpt/*` model is silently upgraded to a streaming request, so the client never gets the single JSON body it asked for. This is specific to the `chatgpt` provider; `openai/*`, `azure/*` and the other Responses providers are unaffected.

`llm_http_handler.py` decides whether the caller wanted streaming from the client's own `stream` field. v1.90.0 (commit cfcdf871, PR #30202) added a second term to that decision in both the sync and async Responses handlers:

```python stream = response_api_optional_request_params.get("stream", False) # what the client asked for ... data = responses_api_provider_config.transform_responses_api_request(...) ... stream = bool(stream or data.get("stream")) # added in v1.90.0 ... is_stream_request = bool(stream) ```

`data` at that point is the provider payload, not the client request. `ChatGPTResponsesAPIConfig.transform_responses_api_request` sets `request["stream"] = True` unconditionally because the Codex backend only serves SSE, so `data.get("stream")` is alway…

GitHub resolver

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

Refresh page
vote history (3 events)
#0 of 0 · 31d18h29m19s ago — entered · #import:https:::github.com:berriai:litellm post #2375
The right issue is harder because it represents an open-ended integration effort with provider-specific implementation, API compatibility, authentication, configuration, documentation, and testing requirements. The left issue is a localized request-routing regression with a comparatively contained fix and targeted sync/async regression tests.
The left issue is harder because it involves preserving cross-turn protocol identity across provider-specific translation and requires broader compatibility testing. The right issue appears more localized to request-mode propagation and response handling, with a narrower regression surface.
#0 of 0 · 31d17h39m59s ago — current · #import:https:::github.com:berriai:litellm post #3203
The right issue spans request-mode propagation across synchronous and asynchronous paths, provider-specific translation, and response normalization, creating broader regression risk. The left issue is more localized to usage extraction and cost accounting with a narrower behavioral surface.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search