
Loud. A run that normally takes ninety seconds was still going after twenty minutes. Nobody had an error to look at. The last thing in the transcript was a request for a specialist opinion, and after it, nothing: no answer, no refusal, no failure. Somebody eventually killed the run. The version of this you should worry about is the one where nothing hangs at all, and the finished answer simply has a piece missing that no reader can see.
What went wrong
An agent works in rounds, and a round has two halves that must both arrive.
The Chair, the orchestrator loop that speaks for the whole room in ArkOne’s reference design for an executive agent, the Cabinet, does one thing repeatedly. It reads everything it has, decides what it needs next, and asks for it. Then it waits. When the answer comes back, that answer is added to the record of the meeting, and the next round begins by reading the record again from the top.
So the record is the agent’s entire memory of its own reasoning, and it is built out of matched pairs: what was asked, what came back. Break one pair and there are only two possible outcomes. Either the loop waits for a half that never arrives, which is the hang, or something further out gives up on the wait and the loop resumes with a gap where the answer should be.
The second outcome is the dangerous one, because a model cannot perceive an absence. It reads the record it has, finds a question with no answer beside it, and does what any writer does with a hole: it fills it from what surrounds it. The reply that reaches you is fluent, and the missing consultation leaves no mark.
The reference design closes this in two places, both on the Register. A request for a tool that does not exist is met with a refusal naming that tool and restating what the room does have. A specialist that a request could not reach receives an explicit skip message rather than being dropped. Neither rule makes the room more capable. Both make it legible.
The record
Suppose the quarterly pricing review below, the company and its figures invented for the exercise. The Chair has consulted Finance and Counsel and now asks Operations for delivery capacity, and the request to Operations goes nowhere.
| Round | What the Chair asked for | What came back |
|---|---|---|
| One | Last year’s contract and price list | Both documents |
| Two | Finance on margin, Counsel on precedent | Two opinions |
| Three | Operations on delivery capacity | Nothing at all |
| Four | Nothing was asked; the loop is still waiting on round three | Still nothing |
| Four, in the other version | The loop resumed without Operations | A recommendation written from Finance and Counsel alone |
Exhibit 1. Illustrative. One request, no reply, and the two ways a run ends after it.
Read rounds three and four together, because they are the same defect with two prices. In the hang, the meeting visibly stops and someone loses twenty minutes. In the resumption, the meeting finishes and a pricing recommendation goes out having never asked whether the volume could be delivered.
Nothing in the second version looks wrong. There is no error, no gap in the prose, no round marked incomplete. The reply is shorter than it would have been and reads as decisive. The only way to know Operations was never heard is to compare what was asked against what returned, one pair at a time, which is not a thing anyone does to an answer that reads well.
This is tagged loud because the first version pages somebody. That is a piece of luck rather than a property of the design. The same missing reply produces both, and which one you get depends on whether an outer time limit happened to fire before the loop gave up.
What it means for you
Every request an agent makes must come back with something, and a refusal counts. This sounds like an engineering nicety and it is a governance rule, because the alternative is an agent whose account of its own work is incomplete in ways it cannot report.
Notice what the cap on rounds does and does not do here. A cap ends a meeting that will not converge, which is why it exists. It is not an answer to a missing reply, because a loop stuck waiting on one request never reaches a second round to count.
There is an artefact to ask for before any of the questions. If the run log records what was requested and what came back as pairs, then a count of requests with no matching reply is a query somebody can run this week, and the number should be zero. Ask for that count. Then ask what comes back when a step cannot be performed, in three cases: a tool that does not exist, a specialist that cannot be reached, and a service that is simply slow today. Three answers, each naming a place in the code. If any of the three is that it should not happen, the design has a path through it that returns nothing, and you have read what that costs.
Next: The forum post quoted back with the confidence of your board deck.
Asked plainly
Why does an AI agent hang instead of failing?
Because it is waiting for an answer that is never coming. An agent works in rounds: it asks for something, reads what comes back, and decides what to do next. If a request returns nothing at all, there is nothing to read, so the round cannot close. The run sits there until some outer limit ends it, and the limit is usually a clock rather than a considered decision.
What should happen when a step an AI agent asked for cannot be done?
Something should come back saying so. A refusal that names what was asked for and why it was declined is readable, and an agent that reads one can take another route or tell a person. Silence is the only reply that cannot be interpreted, which is why a sound design has no path through it that returns nothing.
Can an AI agent finish a task with a step missing and not notice?
Yes, and this is the more expensive version. If a request returns nothing and the run continues anyway, the agent's record of what it asked and what it learned has a gap in it. The agent cannot see an absence, so it writes its answer from what it does have, and the result reads as complete because nothing in it points at the missing part.
