From c0ce1ebd1cd0c22ebf5bc0208550f5bcc1b2d939 Mon Sep 17 00:00:00 2001 From: Diwak4r Date: Fri, 7 Aug 2026 15:22:47 +0545 Subject: [PATCH] fix(anthropic): deep-copy input_schema to prevent caller mutation (Closes #34510) --- .../experimental_pass_through/adapters/transformation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py index 1d7b3b30194..32be75ad5d2 100644 --- a/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py +++ b/litellm/llms/anthropic/experimental_pass_through/adapters/transformation.py @@ -762,9 +762,9 @@ class LiteLLMAnthropicMessagesAdapter: name=truncated_name, ) if "input_schema" in tool: - # Shallow-copy to avoid mutating the caller's original dict when - # extra kwargs are merged below (see #34510). - function_chunk["parameters"] = dict(tool["input_schema"]) + # Deep-copy so extra kwargs merged below (see #34510) never mutate + # the caller's original `input_schema` dict. + function_chunk["parameters"] = copy.deepcopy(tool["input_schema"]) if "description" in tool: function_chunk["description"] = tool["description"]