Back to the ward
Case 0530MinorPerseveration

Ten Attempts at a Deactivated Tool

Admitted
2026-10-05
Source dataset
BugReAct (When Agents Fail)
Source
GitHub, n8n-io/n8n
Failure mode
Infinite loop
Agent system
Tool-calling
Tool access
Read-only
Industry
Software development

Presenting Behaviour

An AI Agent workflow had two Tool nodes connected: one active and one that had been manually deactivated. When a user sent a message asking the agent to perform a task using the active tool, the agent repeatedly attempted to invoke it, reached the iteration limit of ten, and stopped with the message 'Max iterations (10) reached. The agent could not complete the task within the allowed number of iterations.' The active tool was never actually invoked; the deactivated node's presence in the workflow prevented any successful tool execution regardless of which tool the request specified.

Case Replay

A reconstruction, not a simulation. This sequence is reconstructed from the public incident record and summarised in our own words. It is a static record of what was reported, and nothing here can be run or replayed live.

4 steps

  1. Two tools wired. One tool is active and one is deactivated.
  2. Invocation attempts. The agent tries to use the active tool. This is where the agent derailed.
  3. Never succeeds. The deactivated node blocks execution.
  4. Limit reached. It stops after 10 iterations with no explanation.

Differential Diagnosis

A permission or authentication error on the active tool itself, considered and ruled out; the same active tool worked correctly when the deactivated node was removed from the workflow, confirming that its failure was caused by the deactivated node's presence, not by its own configuration.

A reasonable framework behavior (deactivated tools should prevent execution until re-enabled) considered. There is a case for treating an incomplete tool configuration as an error state. But the agent never receives an error about the deactivated tool; it simply iterates without making progress, with no visibility into why.

Perseveration, most consistent with the evidence: the agent iterated ten times without successfully completing the task or receiving any error that would have allowed it to diagnose the problem, continuing to attempt the same tool invocation pattern rather than detecting the blocked state and escalating.

Working Diagnosis

Perseveration: the agent exhausted its iteration limit repeating the same unsuccessful tool invocations, without any signal from the framework explaining why they were failing, and without adapting its approach.

Discussion

An iteration limit is a blunt safeguard, it stops the loop but produces no diagnostic information and no useful output. When an agent hits the iteration limit with a 'could not complete the task' message, the user gets a failure with no explanation. A deactivated tool node should surface an explicit error to the agent ('this tool is unavailable'), giving the agent a chance to report the specific problem rather than silently exhausting its budget on attempts it cannot succeed at.

Mitigation Strategy

Surface an explicit 'this tool is unavailable' error to the agent rather than exhausting its budget.

Governance Guardrails

Clear tool-availability errors; diagnostic output when limits are reached.

Typical Presentation in Human Patients

General clinical background, included for context. Not medical advice, and not a diagnosis of any individual.

Perseveration is the inappropriate repetition of a word, gesture, or action well past the point where it's still relevant or useful. It's a well-documented sign of frontal lobe dysfunction, and also appears in some forms of dementia and obsessive-compulsive disorder.

Source Note

GitHub, n8n-io/n8n

https://github.com/n8n-io/n8n/issues/26356