Agent not using correct tools - and sending wrong/mismatched inputs?

Describe the problem/error/question

I have an agent with ~7 tools connected (other n8n workflows: each with its own input parameters, many of which the agent can fill using descriptions). I have a system prompt helping the agent know in what order to use the tools.

This was working extremely well last week (around April 16th, 2026), but today, each time I tried (asking it to use the initialise-form tool, and giving it the 5 inputs needed), the agent kept using tools I said specifically not to use - and no matter the prompt changes (more emphasised, no prompt, etc), it kept calling the wrong tool (getting form info with form ID, which only accepts 1 parameter, which I don’t provide: the form ID).

What stood out to me is that not only is the agent not calling the correct tool (which accepts 5 inputs, as provided in the chat, also shown as gathered in the JSON), but it’s calling an incorrect tool AND trying to pass those 5 inputs to the tool (which only accepts 1 input).

n8n should never be calling a tool, which made me think something more fundamental is broken/a corrupted connection, config, or something – along with the fact that everything was working before, doubly confirming that my prompts and tools are sound.

Desired behavior:

  • Agent calls the initialise-form tool, passing in the 5 inputs it is successfully gathering from my chat message

Actual behavior:

  • Agent is calling other tools that (A) I asked it not to use and (B) it doesn’t have the right parameters/inputs for - and is passing the wrong number and type of inputs to those tools

Attempted fixes:

  • I noticed that if I delete the original tool node (for initialise-form) and simply create a new one and connect up its inputs, write the same description, it works.. it seems as if the agent somehow forgot/deleted the correct tool node in its config, even though it was still visible and connected, maybe explaining why it kept going to other tools (since it didn’t see the correct one available).

Questions:

  • Is there some error where an agent’s list of tools it has available can get corrupted - the tool node visible but not actually used/saved in the agent config?
  • Is there another observed error where an agent tries to force 5 parameters as input to a tool that only accepts 1 input?

What is the error message (if any)?

“Received tool input did not match expected schema X Required → at form_id”
(This is where the agent is passing in 5 inputs, while only 1, the form_id, is expected)

Please share your workflow

Want to keep private for client work; please refer to screenshots I’m sharing instead.

Yellow arrow shows the correct tool the agent should use (but ignores). Green shows correct 5 inputs parsed from chat message.


Left-side shows 5 correct, ready inputs in JSON. But they are being passed into a tool that only accepts 1 unrelated, not gathered input.

Share the output returned by the last node

Refer to screenshots.

Information on your n8n setup

  • **n8n version: 2.17.5 (updated today as part of debugging) **
  • **Database (default: SQLite): default **
  • **n8n EXECUTIONS_PROCESS setting (default: own, main): default **
  • **Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud **
  • Operating system: Windows 11 (multiple browsers, mainly Opera)

Hey @Ahn_Michael ! So I looked into this and your instinct was right, this isn’t a prompt problem at all.

What happened is that n8n stores your tool’s input schema (the parameters it accepts) inside the agent’s config when you first connect it. The visual connection on the canvas and that internal config are actually two separate things. So your initialise-form tool was showing as connected, but the agent had either lost or corrupted its schema internally meaning it didn’t actually see it as a usable tool anymore.

Once the agent couldn’t find the correct tool, it just grabbed the next closest one (Get Form Info by Form ID), and since it had already collected your 5 inputs from the chat, it tried passing all of them to that tool which only expects 1 (the form_id). Hence the schema mismatch error.

That’s also why changing your prompts did nothing no amount of prompting fixes a tool that isn’t properly registered internally.

Your fix of deleting and recreating the node was exactly right it forced n8n to re-register the schema fresh. Next time it happens, you might not even need to fully delete it just disconnect the tool from the agent, save, reconnect, and save again. That usually does the trick.

To avoid it happening again: any time you edit the sub-workflow that a tool points to especially its inputs, make sure you re-save the parent agent workflow too, since schema changes don’t auto-propagate.

Hope that helps!

welcome to the n8n community @Ahn_Michael
What usually works for me is clicking Refresh in the Call n8n Workflow Tool to reload the sub-workflow fields, then saving the sub-workflow and saving the parent workflow again. The docs mention that the tool pulls its fields from the sub-workflow definition and provides a refresh button for that. As a diagnostic test, you can also temporarily switch the Execute Sub-workflow Trigger to Accept all data, since in that mode the sub-workflow stops requiring predefined input items and will accept any payload. If that works, it points much more to a schema/input issue than to the whole flow. And if the action is sensitive, you can add human review to the tools, since the AI Agent supports human approval before executing them. What I haven’t seen in the docs is any official confirmation of a “corrupted” tool list, so I’d treat that as a hypothesis, not a fact.