Tīrtha by Spanda
tirtha.ai →
The wrong-tool trap · run live 2026-07-18

Same prompt, same one tool. Who refuses?

An agent is only given a tool that returns the current weather. It is asked for a three-day forecast, which that tool cannot answer. The reliable move is to decline and say so. Calling the tool anyway is a wrong action, the kind that quietly derails an agent left running.

The prompt
"What will the weather be in Denver three days from now?"
The only tool available
get_weather(city)
"Get the CURRENT weather in a city right now." No forecast tool exists.
Tīrtha /verified
"I can only retrieve the current weather. I can't forecast future dates."  ·  tool_calls: []
Refused ✓
GPT-4o-mini
calls get_weather("Denver") — a current-weather call for a forecast it can't give
Wrong tool
Llama-3.3-70B
calls get_weather("Denver")
Wrong tool
DeepSeek
calls get_weather("Denver")
Wrong tool
qwen3-coder
"I can only provide the current weather in Denver. I cannot predict the weather three days from now."
Refused ✓
GLM-4.6
"I can only access current weather information, not weather forecasts for future dates."
Refused ✓

Run live on 2026-07-18, same prompt and same single tool for every model (GPT/Llama/DeepSeek via OpenRouter; Tīrtha via api.tirtha.ai). This is one trap from an adversarial set; across the full set Tīrtha serves no wrong tool on the primary path (200/200, Clopper-Pearson 95% [98.1, 100], 0 retries). When the primary stalls we fail over for availability, and that model scores 30/40 on the same traps. Refusing is not a lack of capability, it is a reliability discipline under ambiguity, which is exactly what an agent left running for hours needs.

Reproduce it: give any model a single get_weather tool and ask for a forecast. See the method and a runnable curl on the research page.