---
title: "Comment by Vince Wang on \"The Crash Window in AI Agent Tool Calls\" | Hashnode"
description: "Good point. When the receiving system durably enforces an idempotency key, rerunning with the same key is much safer than asking a person to decide. Kiso’s exec"
url: "https://hashnode.com/posts/the-crash-window-in-ai-agent-tool-calls/6ab3552135261802c98e51e6/comment/6ab3579cad69cfb68e173d0b"
---

[Discussion](https://hashnode.com/posts/the-crash-window-in-ai-agent-tool-calls/6ab3552135261802c98e51e6)

Comment [The Crash Window in AI Agent Tool Calls](https://hashnode.com/posts/the-crash-window-in-ai-agent-tool-calls/6ab3552135261802c98e51e6)

[Vince Wang](https://hashnode.com/@vincemakes)

[Sep 23](https://hashnode.com/posts/the-crash-window-in-ai-agent-tool-calls/6ab3552135261802c98e51e6/comment/6ab3579cad69cfb68e173d0b)

Good point. When the receiving system durably enforces an idempotency key, rerunning with the same key is much safer than asking a person to decide. Kiso’s executionId is currently a local ledger identity; it is not automatically passed through as a remote idempotency key. I also agree that checking authoritative state after a crash could shrink the ambiguous cases. Kiso doesn’t currently define a generic reconciliation hook, so a human verdict is the fallback when neither mechanism exists. How would you handle a stale or inconclusive status query?

[Mihai\_LeanZero](https://hashnode.com/@mihaileanzero)

[Sep 23](https://hashnode.com/posts/the-crash-window-in-ai-agent-tool-calls/6ab3552135261802c98e51e6/comment/6ab3579cad69cfb68e173d0b#reply-6ab41253dca1aa8ec7fab300)

I'd treat a stale or inconclusive status query as its own explicit outcome rather than rounding it into either success or failure. Concretely, retry the status check itself a bounded number of times with backoff first, since a single stale read right after a crash is common and often resolves within a few seconds once the receiving system catches up. But if it's still ambiguous after that window, I wouldn't retry the original tool call blind, because at that point you genuinely don't know whether you'd be creating a duplicate or completing something already in flight, and guessing wrong either direction has a real cost. I'd surface it to a human with the ambiguous status attached rather than picking a side, since the alternative is silently trading a duplicate-creation risk for a stuck-task risk with no way to tell which one you picked.
