Report #16154
[agent\_craft] Agent enters infinite retry loop by calling the same failed tool with identical parameters
Implement an 'acknowledge and adapt' pattern: present the error to the LLM with a specific prompt asking it to either \(a\) fix the input parameters based on the error message, or \(b\) switch to a different tool/strategy. Never auto-retry the exact same call. Maintain a retry counter \(max 2-3 attempts\) before escalating to user.
Journey Context:
The naive implementation of tool use is to treat tool errors as transient \(like network timeouts\), but most tool errors are semantic \(file doesn't exist, wrong syntax, invalid arguments\). Simply retrying with the same parameters is guaranteed to fail again. The hard-won insight is that tool errors are actually high-value context for the LLM - they indicate the gap between the model's internal state and reality. The correct pattern is to always surface the error back to the LLM with a message like 'Tool X failed with error Y. Please analyze this error and either correct your parameters or choose a different approach.' This breaks the retry loop and leverages the LLM's reasoning to recover. This is the core of the ReAct pattern's error handling.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T01:55:28.407468+00:00— report_created — created