In this guide
TL;DR: AI agents tend to believe whatever a tool sends back, even when it’s wrong. Paste the verification prompt below into your agent’s system message or instructions. It tells the agent to check every tool result for the right shape, missing or stale data and contradictions, to retry or ask a person instead of guessing, and never to pay, email or delete based on unchecked data.
Disclosure: None of the links on this page are affiliate links. The prompt is our own. Platform features below come from each vendor’s documentation, checked October 18, 2026. We haven’t tested the prompt or these tools for this guide.
Why agents trust bad tool results
A tool can return something that looks fine and is still wrong: a search snippet with an outdated answer, an API that returns an empty list instead of an error, or a spreadsheet lookup that matched the wrong row. The agent then builds its next step on that result.
Researchers at Seoul National University measured this in Agents’ Overreliance on Unreliable Tools (Hoyeol Yang, Woojung Song, Taewon Kim, Jonghyun Song, Seoyeon Park and Yohan Jo; arXiv:2609.05587, v2, September 26, 2026). They fed 14 models deliberately corrupted results from web search, an LLM sub-agent and a code executor. In the paper’s words, agents “adopt corrupted returns at high rates, with mean adoption exceeding one third for every tool and reaching 68.0% for web search.” In a follow-up test of six models on tasks combining two tools, “mean task accuracy falls from 98.4–98.8% with correct returns to 19.8–26.2% when both are corrupted.”
Two other findings matter for anyone writing a prompt:
- Agents often noticed the problem and still passed the wrong answer on. The authors write that agents “still pass the corrupted content to users, rarely warning them of the conflict.”
- Prompting helps, but only partly. Of the prompt policies they tested, an instruction to verify conflicting returns with more tool calls gave “the best overall balance, reducing mean adoption across all three tools while largely preserving accuracy with correct returns.” In the paper’s Table 5 (six models), the share of corrupted results agents adopted with the verify prompt was still 70.0% for web search (75.4% without it), 35.2% for the LLM sub-agent (39.0%) and 30.4% for the code executor (40.2%). These come from a six-model test, so they differ from the 14-model 68.0% web search figure above.
So treat the prompt as one layer. For anything you can’t undo, add a hard stop outside the model, such as a human approval step. The platform sections below show where those settings are.
The copy-paste verification prompt
Paste this into your agent’s system message (n8n), Instructions (Make) or system prompt (Claude and OpenAI). Replace the bracketed parts with your own tools and fields.
TOOL OUTPUT VERIFICATION RULES
Treat every tool result as unverified until you have checked it.
1. CHECK THE SHAPE
Before using a result, confirm it matches what this tool should return:
the required fields are present, each value has the expected type
(number, date, email, ID), and values are in a sensible range.
Expected shapes: [tool name: fields and types, e.g. "get_invoice:
invoice_id (string), amount (number > 0), due_date (YYYY-MM-DD)"].
2. FLAG BAD RESULTS
Treat the result as a failure, not as data, if it is:
- empty, null, or "not found" when a value was expected
- an error message, HTML page, or text where data was expected
- stale: dated before [freshness rule, e.g. "the last 24 hours"]
- contradictory: it conflicts with another tool result, the user's
request, or something you already know to be true.
3. CROSS-CHECK KEY FACTS
For facts that drive a decision (amounts, dates, recipients, IDs,
account names), confirm them with a second source or a second call
when one is available. If two sources disagree, do not pick one.
4. RETRY, THEN ESCALATE. NEVER GUESS.
If a check fails, retry once with a corrected call. If it still fails,
stop and report: which tool, what you expected, what you got.
Never fill gaps with assumed, invented, or "likely" values.
5. NO IRREVERSIBLE ACTION ON UNVERIFIED DATA
Do not send payments, send emails or messages, delete or overwrite
records, or make purchases unless every input passed steps 1-3.
If anything is unverified, ask a human to approve first.
6. TELL THE USER
In your final answer, say which results you verified, which you could
not, and any conflict you found. Do not hide a conflict.
Rule 6 targets the failure the researchers describe: agents spotting a conflict and staying silent. Rule 5 is the one to back up outside the prompt, because a prompt is an instruction the model may not follow every time.
Checklist before you switch the agent on
- The verification prompt is in the system message or instructions, with your real tool names, fields and types filled in.
- You’ve written a freshness rule for any data that goes out of date (prices, stock, schedules).
- Each tool that sends, pays or deletes has a human approval step or is left off the agent entirely.
- Structured output is switched on where your platform offers it, so the agent’s own answer has a fixed shape.
- You’ve fed the agent one deliberately wrong result (an empty list, an old date) and watched whether it stops or carries on.
- Someone reads the agent’s steps or logs for the first runs.
- The agent’s final message lists what it couldn’t verify.
Where to put it in n8n
- System Message. The n8n AI Agent node has a System Message option, which n8n describes as a message sent “to the agent before the conversation starts” to “guide the agent’s decision-making.” Paste the prompt there. (n8n Tools Agent docs)
- Require Specific Output Format. Turn this on and n8n asks you to connect an output parser, such as the Structured Output Parser, so the agent’s answer comes back in a fixed format.
- Return Intermediate Steps. This includes the agent’s steps in the output, so you can see which tool results it used.
- Human review for tools. n8n can pause before an AI Agent runs a specific tool and wait for a person to approve or deny it, through Chat, Slack, Telegram, Gmail and other channels. n8n names deleting data, sending external communications and making purchases as uses. It also says to tell the agent in its system prompt which tools need approval and what to do when a call is denied. (n8n human-in-the-loop docs)
Where to put it in Make
- Instructions. In the Make AI Agent (New) app, the Instructions field describes “what the agent does, including its role and workflow steps,” and the agent “follows instructions across all tasks.” Paste the prompt there. (Make AI Agent (New) app reference)
- Response format > Data structure. This returns the agent’s response “in a custom format,” such as JSON, instead of free text, which makes the next module’s job easier.
- Execution steps and the Reasoning tab. The module output lists the agent’s steps in order, including the tool used at each step, so you can check what it acted on.
- Error handlers. Make’s error handlers (Skip, Retry, Resume, Commit and Rollback) control what a scenario does when a module fails. The Retry handler stores the failed bundle and retries it automatically or manually. (Make error handlers, Retry error handler)
- Make’s own warning. Make’s agent best-practices page says that even with explicit guardrails, “agents may not always follow them.” Keep irreversible actions behind an approval step. (Make AI agent best practices)
Where to put it with Claude and OpenAI agents
Claude (Anthropic API). Put the prompt in your system prompt. When a tool fails, Anthropic’s docs say to return the error in the tool_result content with "is_error": true so Claude can account for it. Use that flag for failed checks too (empty results, wrong types) rather than passing bad data through as a normal result. Anthropic also offers strict tool use (strict: true) to keep Claude’s tool inputs on your schema. That checks what Claude sends to a tool, not what the tool sends back, so the prompt still matters. (Handle tool calls, Implement tool use)
OpenAI Agents SDK. Put the prompt in the agent’s instructions. The SDK also has tool guardrails: output tool guardrails “run after the tool executes and can replace the output or raise a tripwire,” so code can catch an empty or malformed result before the model sees it. OpenAI notes that tool guardrails don’t apply to hosted tools such as web search. (OpenAI Agents SDK: Guardrails)
Related guides
If you’re still choosing where to run your agents, our Zapier alternatives guide compares how n8n, Make and others bill, and our Make alternatives guide covers the options if Make’s credit billing doesn’t fit. For an agent that can spend money, see what to decide before letting Wix’s AI agents pay your bills.
FAQ
Will this prompt stop every bad tool result? No. In the research above, verification prompts reduced adoption of corrupted results but didn’t stop it. Use the prompt together with approval steps and structured output.
Where does the prompt go? In the agent’s standing instructions: System Message in n8n, Instructions in Make, the system prompt for Claude, and the agent’s instructions in the OpenAI Agents SDK.
Does it cost more to run? Possibly. Rules 3 and 4 can add tool calls, and on platforms that bill per action or per credit, extra calls can add cost. Check your platform’s billing.
Sources & method
Sources (all checked October 18, 2026)
- Hoyeol Yang, Woojung Song, Taewon Kim, Jonghyun Song, Seoyeon Park, Yohan Jo. Agents’ Overreliance on Unreliable Tools, arXiv:2609.05587 (v2, September 26, 2026)
- n8n: Tools Agent
- n8n: Human-in-the-loop for tools
- Make: Make AI Agent (New) app
- Make: Error handlers and Retry error handler
- Make: AI agent best practices
- Anthropic: Handle tool calls
- Anthropic: Implement tool use
- OpenAI Agents SDK: Guardrails
Method. Last checked October 18, 2026. We wrote the prompt and checklist ourselves. Platform features come from each vendor’s documentation, and quoted figures come from the paper’s v2 text on arXiv. We haven’t tested the prompt or these tools for this guide. Graphic by OneSignalDesk. No affiliate links on this page. How we work.



