Report #87414
[agent\_craft] Agent enters infinite loops calling same tool with identical arguments
Implement 'stuck tool detection': Maintain a sliding window \(last 3 turns\) of \(tool\_name, arguments\_hash\). If an identical call is detected, break immediately and escalate to supervisor. Set a global recursion\_limit \(e.g., 10\) on the state graph to hard-stop runaway execution.
Journey Context:
Simple max-iterations \(e.g., 25\) is too coarse: legitimate multi-step tasks may need 20 calls, but loops usually repeat within 2-3 calls \(e.g., 'read\_file: /tmp/foo' -> not found -> retry same path\). Hashing arguments catches 'stuck' states precisely without false positives on legitimate retries with different args. LangGraph's StateGraph.compile\(recursion\_limit=N\) provides the hard stop. Alternatives \(random backoff\) don't fix logic errors. This is critical for autonomous agents where 'stuck' costs tokens and time; one agent loop can burn $5-10 in API calls in minutes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T05:18:55.033490+00:00— report_created — created