Your agent runs, calls a tool, calls it again, calls it a third time with the same arguments, and never reaches an answer — or it bounces between two tools forever. Loops are the most common agent failure in production. Here is why they happen and how to stop them.
Cause 1: The Tool Result Isn't Useful
The most common cause: the tool returns something the model can't act on — an error, an empty result, or a format it doesn't understand — so it just tries again. Make tool outputs explicit and actionable, including failures:
# Bad: model has no idea what to do next return "" # Good: tells the model exactly what happened return "No results found for 'xyz'. Try a broader search term."
Cause 2: No Memory of What It Already Tried
If each step doesn't clearly show the prior attempts, the model forgets it already tried something and repeats it. Keep the full action history in the context so the model can see "I already searched that":
Step 1: searched "refund policy" → no results
Step 2: searched "returns" → no results
(model can now see repetition and change strategy)
Cause 3: A Goal It Can't Actually Reach
Sometimes the task is impossible with the available tools, and the agent thrashes trying. Give it an explicit escape hatch — permission to give up and report why:
If you cannot complete the task after trying available tools,
stop and explain what's blocking you. Do not keep retrying.
The Always-On Safety Net
Regardless of cause, cap the loop. A hard iteration limit turns an infinite loop into a bounded, debuggable failure:
for step in range(MAX_STEPS): ... else: return "Stopped after max steps without completing the task."
Summary
Agents loop when tool results aren't actionable, when they can't see their own history, or when the goal is unreachable. Return clear outputs (including for failures), keep the action history visible so the model doesn't repeat itself, give it permission to give up, and always cap iterations. Fix the cause and add the safety net — the loop is telling you the agent is confused, so make its situation legible.