diff --git a/litellm/responses/mcp/litellm_proxy_mcp_handler.py b/litellm/responses/mcp/litellm_proxy_mcp_handler.py index 07e192e68b4..f13bcece7ca 100644 --- a/litellm/responses/mcp/litellm_proxy_mcp_handler.py +++ b/litellm/responses/mcp/litellm_proxy_mcp_handler.py @@ -85,6 +85,8 @@ class LiteLLM_Proxy_MCP_Handler: follow_up_params = dict(params) follow_up_params.pop("litellm_logging_obj", None) follow_up_params.pop("litellm_call_id", None) + if follow_up_params.get("web_search_options") is None: + follow_up_params.pop("web_search_options", None) nested_params = follow_up_params.get("litellm_params") if isinstance(nested_params, dict): diff --git a/tests/test_litellm/responses/mcp/test_litellm_proxy_mcp_handler.py b/tests/test_litellm/responses/mcp/test_litellm_proxy_mcp_handler.py index de889421e1c..f2658a1b0a5 100644 --- a/tests/test_litellm/responses/mcp/test_litellm_proxy_mcp_handler.py +++ b/tests/test_litellm/responses/mcp/test_litellm_proxy_mcp_handler.py @@ -451,6 +451,7 @@ def test_prepare_follow_up_call_params_resets_per_call_logging_state(): "litellm_logging_obj": object(), "litellm_trace_id": "trace-1", "tool_choice": "auto", + "web_search_options": None, "litellm_params": { "litellm_call_id": "nested-parent-call", "litellm_logging_obj": object(), @@ -467,6 +468,7 @@ def test_prepare_follow_up_call_params_resets_per_call_logging_state(): assert follow_up["litellm_trace_id"] == "trace-1" assert follow_up["stream"] is True assert "tool_choice" not in follow_up + assert "web_search_options" not in follow_up assert follow_up["litellm_params"]["metadata"] == {"team": "legal"} assert original["litellm_call_id"] == "parent-call"