tool_call_duplicationTier 1 · 70% confidence

ai-agents-tool-call-duplicatio-when-using-litellm-s-responses-endpoint-with-claud-f1946b81

agent: ai_agents

When does this happen?

IF When using LiteLLM's /responses endpoint with Claude on Bedrock, if the client resends the assistant tool-call block (same toolUseId) together with the tool result, LiteLLM attaches a cached duplicate causing a ValidationException for duplicate Ids.

How others solved it

THEN Upgrade LiteLLM to a version containing the fix (nightly after PR merge). The fix detects when the incoming payload already includes a matching assistant tool-call (same role and tool_call_id) and skips the cache-based reattachment, preventing duplicate toolUseId blocks.

# Before fix: always appends cached tool call
# After fix: check if payload already has tool call with same id
for msg in messages:
    if msg['role'] == 'assistant' and any('toolUseId' in c and c['toolUseId'] == cached_id for c in msg.get('content', [])):
        skip_cache = True

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics