A tool failure shows up as an error in the tool_result block — the tool returned something wrong. A decision error shows up in the agent’s next step — the tool worked fine, but the agent did the wrong thing with the result.
Two Different Types of Wrong
When your campus AI agent does something unexpected, the problem is almost always in one of two places: the tool did not work, or the agent made a bad choice with a tool that did work. These are fundamentally different problems with different fixes, and confusing them leads you to waste time debugging the wrong thing.
Think of it like a cooking show. A tool failure is when the oven breaks — the input (recipe) was fine, the equipment failed. A decision error is when the oven worked perfectly but the chef decided to bake a cake at 500 degrees — the tool was fine, the judgment was wrong. You do not fix bad judgment by replacing the oven.
How to Tell Them Apart in a Trace
Open the trace and find the tool call in question. In Claude, look at the tool_result block immediately after the tool_use block. If the tool_result contains an error message, an HTTP error code, an empty response, or a timeout, that is a tool failure. The tool itself returned bad data, no data, or an exception.
Now look at what the agent did next. If the tool returned a perfectly good result — the right data, a valid response, a successful status — but the agent then made a choice you did not expect (called the wrong next tool, skipped a step, used the result incorrectly), that is a decision error. The evidence for a decision error is always in the agent’s reasoning step or its next tool_use call, not in the tool_result.
In n8n or Zapier, the same logic applies. Check the node output data. If the node returned an error flag or empty data, the tool failed. If the node returned clean data but the next step took the wrong branch, the agent made a bad decision.
What This Means for Educators
Tool failures are usually fixed by the person who built or manages the tool — a broken API connection, an expired key, a misconfigured endpoint. Decision errors are fixed by improving the agent’s instructions — clearer system prompts, better examples, tighter rules about when to use which tool.
As an educator building campus agents in WordPress with FluentCRM or FluentCommunity, you will encounter both. Knowing which type you are looking at tells you immediately who needs to fix it and how. Tool failures often need a developer. Decision errors usually just need a better prompt.
The Simple Rule
Bad tool_result = tool failure, fix the tool. Good tool_result, bad next step = decision error, fix the prompt. Read the result before you assume the tool is broken — most decision errors masquerade as tool failures until you look carefully at the trace.
