From 715f099a01c8763422283a2110d38c71cda53110 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2026 08:19:42 +0000 Subject: [PATCH] fix(anthropic): rebuild the refusal message_delta by spreading the chunk Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../adapters/streaming_iterator.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py b/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py index d4537dd9032..97e466b310e 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/streaming_iterator.py @@ -1042,14 +1042,8 @@ class AnthropicStreamWrapper(AdapterCompletionStreamWrapper): "stop_reason": "refusal", "stop_details": refusal_stop_details(self._refusal_text), } - if "context_management" in processed_chunk: - return MessageBlockDelta( - type="message_delta", - delta=refusal_delta, - usage=processed_chunk["usage"], - context_management=processed_chunk["context_management"], - ) - return MessageBlockDelta(type="message_delta", delta=refusal_delta, usage=processed_chunk["usage"]) + refusal_chunk: Final[MessageBlockDelta] = {**processed_chunk, "delta": refusal_delta} + return refusal_chunk @staticmethod def _delta_has_content(processed_chunk: Mapping[str, object]) -> bool: