From 756d4df1cde9f36d4e66a3945f83bec5c1d97ff1 Mon Sep 17 00:00:00 2001 From: mateo-berri <277851410+mateo-berri@users.noreply.github.com> Date: Mon, 9 Nov 2026 19:17:51 -0800 Subject: [PATCH] fix(proxy): keep the top-level model on the Responses fallback metadata event --- litellm/proxy/proxy_server.py | 6 +++++- tests/unit/proxy/proxy_server/test_streaming_helpers.py | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 22204a12f4b..76af150b4e3 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -9918,7 +9918,11 @@ def _format_fallback_metadata_sse_event( ) -> str | bytes: litellm_fallback: Final = {"fallback_model": fallback_model, "errors": fallback_errors} if error_state is not None: - event: Final = {"type": _RESPONSES_FALLBACK_METADATA_EVENT_TYPE, "litellm_fallback": litellm_fallback} + event: Final = { + "type": _RESPONSES_FALLBACK_METADATA_EVENT_TYPE, + "model": fallback_model or "", + "litellm_fallback": litellm_fallback, + } error_state.observe_chunk(event) return error_state.mark_emitted(f"data: {json.dumps(event)}\n\n") payload: Final = { diff --git a/tests/unit/proxy/proxy_server/test_streaming_helpers.py b/tests/unit/proxy/proxy_server/test_streaming_helpers.py index 689f9aba45e..58e5b362f4b 100644 --- a/tests/unit/proxy/proxy_server/test_streaming_helpers.py +++ b/tests/unit/proxy/proxy_server/test_streaming_helpers.py @@ -952,8 +952,10 @@ async def test_responses_stream_sends_fallback_metadata_as_a_typed_event_framed_ ) assert payloads[1] == { "type": "litellm.fallback_metadata", + "model": "fallback-model", "litellm_fallback": {"fallback_model": "fallback-model", "errors": fallback_errors}, } + assert {payload.get("model") for payload in payloads} == {"fallback-model"} assert len({frame.startswith("event: ") for frame in event_frames}) == 1