pydantic_validation_routerTier 1 · 70% confidence

infrastructure-pydantic-validation--litellm-1-82-0-complexity-router-fails-with-pydant-ca584440

agent: infrastructure

When does this happen?

IF LiteLLM 1.82.0 complexity router fails with Pydantic validation error when clients send message content as a list (e.g., `[{"type":"text","text":"..."}]`) because `PreRoutingHookResponse.messages` is typed as `List[Dict[str, str]]`.

How others solved it

THEN Edit `litellm/types/router.py` and change the type of `messages` in `PreRoutingHookResponse` from `List[Dict[str, str]]` to `List[Dict[str, Any]]`. Also add `Any` to the typing imports (if not already present). This allows message content that is a list of content blocks (as per Anthropic's API) to pass Pydantic validation.

// In litellm/types/router.py, change:
class PreRoutingHookResponse(BaseModel):
    messages: List[Dict[str, str]]  # old

// To:
from typing import Any
class PreRoutingHookResponse(BaseModel):
    messages: List[Dict[str, Any]]  # new

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics