From 1ebb192cbed0335835a5c62fba8b4ad158ff33e6 Mon Sep 17 00:00:00 2001 From: user <70670632+stuxf@users.noreply.github.com> Date: Wed, 29 Apr 2026 20:13:34 -0700 Subject: [PATCH] fix(proxy): catch callback metadata validation errors --- litellm/proxy/litellm_pre_call_utils.py | 3 ++- tests/test_litellm/proxy/test_litellm_pre_call_utils.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/litellm/proxy/litellm_pre_call_utils.py b/litellm/proxy/litellm_pre_call_utils.py index ceadf82379..635c0d4148 100644 --- a/litellm/proxy/litellm_pre_call_utils.py +++ b/litellm/proxy/litellm_pre_call_utils.py @@ -6,6 +6,7 @@ from collections import OrderedDict from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union from fastapi import Request +from pydantic import ValidationError as PydanticValidationError from starlette.datastructures import Headers import litellm @@ -238,7 +239,7 @@ def _get_validated_callback_metadata( ) -> Optional[AddTeamCallback]: try: return AddTeamCallback(**item) - except ValueError as e: + except (PydanticValidationError, ValueError) as e: verbose_proxy_logger.warning( "Ignoring invalid %s callback metadata: %s", source, diff --git a/tests/test_litellm/proxy/test_litellm_pre_call_utils.py b/tests/test_litellm/proxy/test_litellm_pre_call_utils.py index 543be7948f..d4319593d6 100644 --- a/tests/test_litellm/proxy/test_litellm_pre_call_utils.py +++ b/tests/test_litellm/proxy/test_litellm_pre_call_utils.py @@ -7,6 +7,7 @@ from unittest.mock import AsyncMock, MagicMock, patch import pytest from fastapi import Request +from pydantic import ValidationError as PydanticValidationError from starlette.datastructures import Headers import litellm @@ -1275,7 +1276,7 @@ def test_get_dynamic_logging_metadata_with_arize_team_logging(): def test_add_team_callback_rejects_env_reference(): - with pytest.raises(ValueError) as exc_info: + with pytest.raises(PydanticValidationError) as exc_info: AddTeamCallback( callback_name="langfuse", callback_type="success",