9 views
-/https://github.com/berriai/litellm/issues/35213
GitHub · issue

#35213 [Bug]: Chat→Responses bridge omits required `annotations` field on `output_text` input items — strict Responses backends reject multi-turn requests

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

### What happened?

When calling `/chat/completions` with a model backed by the Responses API, LiteLLM converts assistant history messages into Responses `input` items. The generated `output_text` content blocks do not include the `annotations` field:

```python # litellm/completion_extras/litellm_responses_transformation/transformation.py def _convert_content_str_to_input_text(self, content: str, role: str) -> Dict[str, Any]: if role == "user" or role == "system" or role == "tool": return {"type": "input_text", "text": content} else: return {"type": "output_text", "text": content} # <-- no "annotations" ```

OpenAI's public API tolerates the missing field, but stricter Responses-compatible backends (e.g. Azure-style validators) reject the payload, since the `output_text` schema marks `annotations` as required:

``` litellm.BadRequestError: OpenAIException - { "error": { "code": "invalid_payload", "message": "Required property 'annotations' is missing", "param": "input[1].content[0].annotations", "type": "invalid_request_error", ... ```

The first turn works (no assistant history); every subsequent turn fails once an assistant message …

GitHub resolver

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

Refresh page
vote history (2 events)
#0 of 0 · 31d18h13m51s ago — entered · #import:https:::github.com:berriai:litellm post #2623
The right issue is harder because it spans frontend onboarding state, authentication-header propagation, and backend validation across an unauthenticated flow, requiring coordinated changes and broader regression testing. The left issue is comparatively localized to a request-transformation schema fix with focused tests.
#0 of 0 · 31d17h50m57s ago — current · #import:https:::github.com:berriai:litellm post #3022
The left issue is harder because it likely requires tracing authentication failure classification through proxy exception handling, request logging, and alerting behavior across configuration-backed model paths. The right issue is comparatively localized to a request-transformation schema default and targeted compatibility tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search