Back to news

How to tell an AI coding agent is stuck before you lose the afternoon

Short answer: silence does not distinguish work from stalling, so do not trust it. The three signals that work are time since the last file write, the state of the last model call, and the last output line not changing. A good tool watches this for you and tells you; without one, you are left checking periodically, which is exactly what does not scale.

Why does a stalled AI agent cost so much?

Not because of model cost: a stalled agent consumes nothing. It is expensive because the clock running is yours. You think three fronts are moving, come back forty minutes later and find one stopped in the first two. The loss is the gap between what you thought you had and what you have.

The ways it stalls, and the signal for each

  • Waiting on you. The most common and least noticed: it asked a question or wants confirmation, and sits there until someone answers. Signal: the last output line is a question.
  • Provider failure. The model API went down or is rate limiting, and the tool has been quietly retrying. Signal: no file writes for minutes with the process still alive.
  • A loop. It retries the same thing with minimal variations. Signal: output grows but files do not change.
  • Finished without telling you. Done, waiting for the next instruction. Not a failure, but it occupies space in your head all the same.

The most reliable signal: file writes

Text on screen misleads, because an AI agent can write plenty while thinking. Files changing is proof something is happening. A few minutes with no writes at all, in an agent that should be implementing, is the cheapest alarm there is.

Is checking on them periodically enough?

Because the cost of checking grows with the number of agents, and so does the required frequency. With two, fine. With six, you patrol instead of working, and the gain from parallelism turns into the job of administering it. That is why the notification is worth more than any pretty panel.

What a tool can do for you

Three things, in order of value: show state without you opening anything (working, waiting, finished, crashed), alert you when one needs you even while you are in another project, and bring back on its own an agent that fell to a provider failure. The third surprises most: a good share of outages resolve without you learning there was one.

How to prevent stalling

The most common cause of waiting is a task with no completion criterion. An AI agent that knows which command proves it is done runs that command, fixes things and continues. One that does not, asks. Writing this into the project instructions removes an entire class of stops.

Can you leave them running unattended?

Only with strong isolation, an automatic completion criterion and review before merging. Without all three, what you save in attention you pay back in review, with interest.