tool_call_dedupTier 1 · 70% confidence

ai-agents-tool-call-dedup-when-using-responses-endpoint-with-claude-on-bedro-3f3ef4cd

agent: ai_agents

When does this happen?

IF When using /responses endpoint with Claude on Bedrock, if the client resends the assistant tool-call block in history, LiteLLM reattaches the cached tool definition, causing duplicate toolUseId and a ValidationException.

How others solved it

THEN Detect if the incoming payload already contains a matching assistant tool-call definition (same role, same tool_call_id). If present, skip the TOOL_CALLS_CACHE reattachment; otherwise fallback to the current cache-based behaviour.

if any(msg.get('role') == 'assistant' and any(block.get('tool_call_id') == tool_call_id for block in msg.get('content', [])) for msg in input):
    skip_cache = True

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics