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.
get_weather(city)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.