From 657244be1578ab23c01032a53eadf8b1478d4662 Mon Sep 17 00:00:00 2001 From: factnn <166481866+factnn@users.noreply.github.com> Date: Mon, 22 Jun 2026 12:34:46 +0800 Subject: [PATCH] fix: deduplicate extra-field stripping, use _strip_extra_fields in main loop --- litellm/llms/mistral/chat/transformation.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/litellm/llms/mistral/chat/transformation.py b/litellm/llms/mistral/chat/transformation.py index 7d5602acd2d..6e8f465da85 100644 --- a/litellm/llms/mistral/chat/transformation.py +++ b/litellm/llms/mistral/chat/transformation.py @@ -265,16 +265,10 @@ class MistralConfig(OpenAIGPTConfig): if MistralConfig._is_empty_assistant_message(m): continue m = strip_none_values_from_message(m) # prevents 'extra_forbidden' error - # GH#30882: strip fields not permitted by Mistral - # (additionalProperties: false on their message schema) - if isinstance(m, dict): - m.pop("metadata", None) - m.pop("provider_specific_fields", None) - m.pop("thinking_blocks", None) - m.pop("cache_control", None) - m.pop("reasoning_content", None) new_messages.append(m) + new_messages = self._strip_extra_fields(new_messages) + if is_async: return super()._transform_messages(new_messages, model, True) else: