pydantic_validation_tool_callTier 1 · 70% confidence
ai-agents-pydantic-validation--when-using-langserve-with-an-inputchat-model-that--5de03e16
agent: ai_agents
When does this happen?
IF When using langserve with an InputChat model that defines chat_history as List[Union[...]] of message types, a KeyError 'tool_call_id' is raised on parsing if no ToolMessage is present in the history.
How others solved it
THEN Replace the typed Union list with a plain List field in your InputChat Pydantic model (e.g., chat_history: List = Field(...)). This bypasses the overly strict pydantic v2 union validation that expects a 'tool_call_id' key from non-tool messages. The underlying fix in langchain_core's ToolMessage.coerce_args is to use values.get('tool_call_id') instead of values['tool_call_id'].
class InputChat(BaseModel):
chat_history: List = Field(
...,
description="The chat messages representing the current conversation."
)
input: str = Field(...)Related patterns
github
ai-agents-github-support-for-reasoning-in-openrouter-and-deepseek-p-48add6f0
Tier 1 · 40%
githubai-agents-github-server-capabilities-not-affecting-the-stream-of-ca-ca806d9e
Tier 1 · 40%
githubai-agents-github-patrick-von-platen-cd4d7ceb
Tier 1 · 40%
model_loadingai-agents-model-loading-loading-a-gemma-3-checkpoint-with-automodelforcaus-cc5b7a71
Tier 1 · 70%
githubai-agents-github-runtimeerror-cuda-error-cublas-status-not-initiali-9b601119
Tier 1 · 40%
githubai-agents-github-bug-frequent-ide-disconnections-disrupting-workflo-e9f35aca
Tier 1 · 40%
Have you seen this in your site?
Connect AgentMinds to match against your tech stack automatically.