From 717e7e4b59563ce6667ac46aa31badce6f9c9fcb Mon Sep 17 00:00:00 2001 From: Stephen Chin <1290231+steveonjava@users.noreply.github.com> Date: Thu, 20 Aug 2026 05:49:21 -0700 Subject: [PATCH 1/3] fix(chatgpt): forward prompt cache key --- litellm/llms/chatgpt/responses/transformation.py | 1 + .../chatgpt/responses/test_chatgpt_responses_transformation.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/litellm/llms/chatgpt/responses/transformation.py b/litellm/llms/chatgpt/responses/transformation.py index 9774b762396..b191d6d101b 100644 --- a/litellm/llms/chatgpt/responses/transformation.py +++ b/litellm/llms/chatgpt/responses/transformation.py @@ -104,6 +104,7 @@ class ChatGPTResponsesAPIConfig(OpenAIResponsesAPIConfig): "tools", "tool_choice", "reasoning", + "prompt_cache_key", "previous_response_id", "truncation", } diff --git a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py index 0b04dd0ed78..b02d1f58cc0 100644 --- a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py +++ b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py @@ -169,6 +169,7 @@ class TestChatGPTResponsesAPITransformation: "max_output_tokens": 123, "stream_options": {"include_usage": True}, # supported and should be preserved + "prompt_cache_key": "session_123", "truncation": "auto", "previous_response_id": "resp_123", "reasoning": {"effort": "medium"}, @@ -187,6 +188,7 @@ class TestChatGPTResponsesAPITransformation: assert "max_output_tokens" not in request assert "stream_options" not in request + assert request["prompt_cache_key"] == "session_123" assert request["truncation"] == "auto" assert request["previous_response_id"] == "resp_123" assert request["reasoning"] == {"effort": "medium"} From 1690c48916fc95826f0da4e98671ae49c32429a7 Mon Sep 17 00:00:00 2001 From: Stephen Chin <1290231+steveonjava@users.noreply.github.com> Date: Thu, 20 Aug 2026 06:20:50 -0700 Subject: [PATCH 2/3] fix(chatgpt): forward native compaction config --- litellm/llms/chatgpt/responses/transformation.py | 1 + .../responses/test_chatgpt_responses_transformation.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/litellm/llms/chatgpt/responses/transformation.py b/litellm/llms/chatgpt/responses/transformation.py index b191d6d101b..7089fe193b0 100644 --- a/litellm/llms/chatgpt/responses/transformation.py +++ b/litellm/llms/chatgpt/responses/transformation.py @@ -105,6 +105,7 @@ class ChatGPTResponsesAPIConfig(OpenAIResponsesAPIConfig): "tool_choice", "reasoning", "prompt_cache_key", + "context_management", "previous_response_id", "truncation", } diff --git a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py index b02d1f58cc0..1256766d39e 100644 --- a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py +++ b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py @@ -162,14 +162,12 @@ class TestChatGPTResponsesAPITransformation: "user": "user_123", "temperature": 0.2, "top_p": 0.9, - "context_management": [ - {"type": "compaction", "compact_threshold": 200000} - ], "metadata": {"foo": "bar"}, "max_output_tokens": 123, "stream_options": {"include_usage": True}, # supported and should be preserved "prompt_cache_key": "session_123", + "context_management": [{"type": "compaction", "compact_threshold": 200000}], "truncation": "auto", "previous_response_id": "resp_123", "reasoning": {"effort": "medium"}, @@ -183,12 +181,14 @@ class TestChatGPTResponsesAPITransformation: assert "user" not in request assert "temperature" not in request assert "top_p" not in request - assert "context_management" not in request assert "metadata" not in request assert "max_output_tokens" not in request assert "stream_options" not in request assert request["prompt_cache_key"] == "session_123" + assert request["context_management"] == [ + {"type": "compaction", "compact_threshold": 200000} + ] assert request["truncation"] == "auto" assert request["previous_response_id"] == "resp_123" assert request["reasoning"] == {"effort": "medium"} From e2a242989ca74effc3598fdd6504a9896e9d6848 Mon Sep 17 00:00:00 2001 From: Stephen Chin Date: Thu, 20 Aug 2026 21:24:06 +0000 Subject: [PATCH 3/3] fix(chatgpt): keep compaction config filtered I removed context_management from the ChatGPT Responses allowlist after\nauthenticated GPT-5.6 probes did not establish normal endpoint support.\nprompt_cache_key remains forwarded, and the regression keeps unsupported\nChatGPT request fields filtered. --- litellm/llms/chatgpt/responses/transformation.py | 1 - .../responses/test_chatgpt_responses_transformation.py | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/litellm/llms/chatgpt/responses/transformation.py b/litellm/llms/chatgpt/responses/transformation.py index 7089fe193b0..b191d6d101b 100644 --- a/litellm/llms/chatgpt/responses/transformation.py +++ b/litellm/llms/chatgpt/responses/transformation.py @@ -105,7 +105,6 @@ class ChatGPTResponsesAPIConfig(OpenAIResponsesAPIConfig): "tool_choice", "reasoning", "prompt_cache_key", - "context_management", "previous_response_id", "truncation", } diff --git a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py index 1256766d39e..b02d1f58cc0 100644 --- a/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py +++ b/tests/unit/llms/chatgpt/responses/test_chatgpt_responses_transformation.py @@ -162,12 +162,14 @@ class TestChatGPTResponsesAPITransformation: "user": "user_123", "temperature": 0.2, "top_p": 0.9, + "context_management": [ + {"type": "compaction", "compact_threshold": 200000} + ], "metadata": {"foo": "bar"}, "max_output_tokens": 123, "stream_options": {"include_usage": True}, # supported and should be preserved "prompt_cache_key": "session_123", - "context_management": [{"type": "compaction", "compact_threshold": 200000}], "truncation": "auto", "previous_response_id": "resp_123", "reasoning": {"effort": "medium"}, @@ -181,14 +183,12 @@ class TestChatGPTResponsesAPITransformation: assert "user" not in request assert "temperature" not in request assert "top_p" not in request + assert "context_management" not in request assert "metadata" not in request assert "max_output_tokens" not in request assert "stream_options" not in request assert request["prompt_cache_key"] == "session_123" - assert request["context_management"] == [ - {"type": "compaction", "compact_threshold": 200000} - ] assert request["truncation"] == "auto" assert request["previous_response_id"] == "resp_123" assert request["reasoning"] == {"effort": "medium"}