When Should an Agent Stop? The Anatomy of Termination
Last Updated on May 27, 2026 by Editorial Team Author(s): Can Demir Originally published on Towards AI. A deep dive into the part of agent harness engineering most tutorials skip If you have written an LLM agent in the last two years, you have written something like this: The article argues that the “while not done” loop is not boring scaffolding but the core engineering challenge: deciding when an LLM agent should stop, and what to do when stopping is uncertain. It reframes termination as a four-part taxonomy—goal-based (declared vs verifiable completion), resource-based (iteration/token/wall-clock/monetary/tool budgets), pathology-based (detecting repeated/no-progress/loop or confidence collapse behaviors), and external termination (user cancellation, upstream timeouts, circuit breakers). It explains why common advice like max_iterations and a single “finish” signal is incomplete, details how “retry” actually contains four different mechanisms with different give-up policies (transient, format, semantic, and strategy retries), and shows how to choose and prioritize checks in the right order. The piece closes with the idea that agent design is termination design, offers a compact Python termination-layer pattern in code, and highlights frequent pitfalls (confusing retries, relying on unverified completion, overly aggressive loop detection, and missing cancellation paths). Read the full blog for free on Medium. Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor. Published via Towards AI
