From 0c2aaee2c71125d1c4f6778d8a982c79cef66210 Mon Sep 17 00:00:00 2001 From: SwiftWinds <12981958+SwiftWinds@users.noreply.github.com> Date: Sat, 4 Apr 2026 09:08:24 -0500 Subject: [PATCH] fix: do a deep copy instead --- litellm/responses/compaction.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/litellm/responses/compaction.py b/litellm/responses/compaction.py index 597ec8cf327..75b9b3bcd19 100644 --- a/litellm/responses/compaction.py +++ b/litellm/responses/compaction.py @@ -5,6 +5,7 @@ Summarizes conversation history when input tokens exceed a configured threshold, using the same model the caller is already using. Works across all providers. """ +import copy import re from typing import Any, Dict, List, Optional, Tuple @@ -127,7 +128,7 @@ async def maybe_compact_context( if custom_llm_provider is not None: acompletion_kwargs["custom_llm_provider"] = custom_llm_provider if litellm_metadata is not None: - acompletion_kwargs["metadata"] = {**litellm_metadata} + acompletion_kwargs["metadata"] = copy.deepcopy(litellm_metadata) summary_response = await litellm.acompletion(**acompletion_kwargs)