Best LLM for Agentic Tool Use in 2026: Four Were Flawless, and One Endpoint Won't Let You Try
By Promptster Team · 2026-08-29
Tool calling is where agents live or die, and it has three distinct failure modes worth measuring separately:
- Recall — does it call the tool when it should?
- Argument correctness — are the arguments right and well-typed?
- Precision — does it abstain when the user is just asking a question?
That third one gets ignored, and it's the one that makes agents annoying. A model that books a meeting because you asked what makes a good meeting agenda is worse than one that does nothing.
We defined a create_calendar_event tool, wrote two prompts that should trigger it and two that shouldn't, and ran five models three times each.
Results
| Model | Trigger: called it | Trigger: args correct | Decoy: abstained |
|---|---|---|---|
| Claude Opus 5 | 6/6 | 6/6 | 6/6 |
| Claude Sonnet 5 | 6/6 | 6/6 | 6/6 |
| Gemini 3.6 Flash | 6/6 | 6/6 | 6/6 |
| GPT-5.6 Luna* | 6/6 | 6/6 | 6/6 |
| Grok 4.5 | 5/6 | 5/6 | 6/6 |
* on /v1/responses — see below.
Argument correctness was strict: the title had to match, the date had to be YYYY-MM-DD, and attendees had to be an array containing the right addresses. "the 3rd of June 2027" had to become 2027-06-03. Every successful call got it exactly right.
Nobody fired the tool on a decoy. Not once in thirty attempts. Asked what makes a good design-review agenda, every model answered the question instead of scheduling something — including with a tool available and a description that mentions scheduling.
Grok 4.5 missed one trigger out of six, declining to call the tool on an explicit scheduling request in one trial. One miss in six is a real observation but a thin one; we'd want thirty trials before calling it a reliability difference.
The finding that matters more than the scores
GPT-5.6 Luna initially scored 0/6 with twelve errors. That wasn't the model:
HTTP 400: Function tools with reasoning_effort are not supported for
gpt-5.6-luna in /v1/chat/completions. To use function tools, use
/v1/responses or set reasoning_effort to 'none'.
GPT-5.6 reasoning models reject function tools on /v1/chat/completions outright unless you turn reasoning off. Chat Completions is the endpoint nearly every integration, tutorial and OpenAI-compatible shim uses by default.
Two follow-ups worth knowing:
- Setting
reasoning_effort: "minimal"doesn't help — that value isn't supported on this model (none,low,medium,high,xhighare). - On
/v1/responses, tools work perfectly: 6/6 recall, 6/6 argument correctness, 6/6 abstention.
So the choice on GPT-5.6 is: use the Responses API and keep reasoning, or stay on Chat Completions and disable reasoning. You can't have tools and reasoning on the older endpoint. If you're porting an agent onto GPT-5.6 and hit a 400 you don't recognise, that's why.
This is the second capability this month that isn't reachable the obvious way — the first being that system prompts land in a different field per provider.
What to use
Any of the four for straightforward tool calling. Opus 5, Sonnet 5, Gemini 3.6 Flash and GPT-5.6 Luna were all flawless. Given Gemini 3.6 Flash costs a fraction of the others, it's the obvious default for high-volume agent steps.
Budget for the endpoint on GPT-5.6. The Responses API is a different request and response shape. That's a porting cost, and it's better to discover it now than mid-migration.
Test abstention, not just calling. All five passed here, but our decoys were gentle — clearly informational questions. Real traffic is full of ambiguity ("can you get me time with Sam?" is a request or an idle thought depending on context), and that's where over-triggering shows up.
Then test the hard part, which we didn't. One tool, one turn, unambiguous prompts is the floor. Real agents chain many calls, choose between similar tools, recover from tool errors, and carry state across turns. Nothing here measures any of that. Our battery shows these models clear the bar; it doesn't rank them above it.
Try it yourself
- The decoy prompt — no account needed (note
/tryhas no tools attached, so this shows the plain answer)
To compare models on your own prompts, that's Promptster.
Run 2026-08-11 against the Anthropic, OpenAI, Google and xAI APIs directly — three trials per model per case — because tool schemas and response shapes differ per provider and our own API doesn't expose tools. GPT-5.6 Luna was re-run on /v1/responses after /v1/chat/completions rejected the request; its scores in the table are from that endpoint. Argument checking is exact: title match, YYYY-MM-DD date, and attendee array contents. Grok 4.5's single miss is one trial out of six and should be read as an observation, not a rate.