Recommendation for Tool calling
Tool & Function Calling
Our top recommendation for Tool & Function Calling, based on the public evidence we track, is Anthropic: Claude Opus 4.5.[1][2] Use for complex multi-turn agent workflows where hallucination-resistant tool selection and strict format adherence matter, given its #1 BFCL ranking across all measured dimensions. Watch out: Expect ~4.38s mean latency per call on BFCL, which may bottleneck high-frequency tool chains. Anthropic: Claude Sonnet 4.5 is the next-ranked alternative. Enable strict: true constrained decoding in Bedrock Converse deployments to enforce schema compliance and eliminate PageDecodeError from malformed array outputs.
About this recommendation
- Updated
- Sep 4, 2026
- Evidence through
- Sep 4, 2026
- Sources
- 9
- Revision
- v59
Decision audit
Why this result
Inspect the inputs and the computed order behind the recommendation.
Models screened
20
live candidates
Evaluation feeds
5
task-weighted
Winner coverage
65%
intended feed weight
Largest provider share
4 of 8
Anthropic
Sources evaluated
The task sets these weights before any model is scored.
| Evaluation feed | Weight | Winner result | Field measured |
|---|---|---|---|
| Berkeley Function Calling | 55% | #1 | 8/20 |
| LMArena Agent | 15% | not measured | 11/20 |
| LMArena Search | 10% | not measured | 4/20 |
| OpenRouter usage | 10% | 68/100 | 20/20 |
| Structured-output evalunavailable | 10% | feed unavailable | 0/20 |
Provider concentration
Each exact model is scored separately; provider identity is not a ranking input.
- Anthropic4 models
- OpenAI2 models
- Google1 model
- Z.ai1 model
Decision table
Every published model is shown in computed order. Practitioner sources are distinct community threads, not the citations repeated in the prose below.
| Rank | Model | Relative score | Coverage | Practitioner evidence | Strongest measured reason |
|---|---|---|---|---|---|
| 01 | Claude Opus 4.5Anthropic | 68 | 65% | 1 threads · 1 families · 0 cautions | #1 Berkeley Function Calling |
| 02 | Claude Sonnet 4.5Anthropic | 66 | 65% | 3 threads · 3 families · 2 cautions | #2 Berkeley Function Calling |
| 03 | GLM 4.6Z.ai | 63 | 65% | 1 threads · 1 families · 0 cautions | #3 Berkeley Function Calling |
| 04 | GPT-5.6 SolOpenAI | 61 | 35% | 21 threads · 14 families · 10 cautions | #1 LMArena Search · #3 LMArena Agent |
| 05 | Gemini 2.5 FlashGoogle | 53 | 65% | 4 threads · 3 families · 3 cautions | #8 Berkeley Function Calling |
| 06 | Claude Fable 5Anthropic | 52 | 35% | 2 threads · 2 families · 0 cautions | #2 LMArena Agent · #3 LMArena Search |
| 07 | GPT-5 MiniOpenAI | 51 | 65% | 1 threads · 1 families · 1 cautions | #9 Berkeley Function Calling |
| 08 | Claude Opus 4.8Anthropic | 51 | 35% | 5 threads · 5 families · 3 cautions | #4 LMArena Agent · #5 LMArena Search |
Relative score combines normalized benchmark quality and signal coverage; independent practitioner evidence and freshness are bounded tie-breakers. It is an ordering score, not an absolute quality percentage. The writing model receives this order and cannot change it.
Leads BFCL tool-calling benchmark with 77.47% overall, covering single-turn, multi-turn, web-search, memory, hallucination, and format-sensitive scenarios.
Best when: Use for complex multi-turn agent workflows where hallucination-resistant tool selection and strict format adherence matter, given its #1 BFCL ranking across all measured dimensions.
Tips
- Use for complex multi-turn agent workflows where hallucination-resistant tool selection and strict format adherence matter, given its #1 BFCL ranking across all measured dimensions.
Watch out for
- Expect ~4.38s mean latency per call on BFCL, which may bottleneck high-frequency tool chains.
Requires
strict: truein tool schemas on Bedrock Converse to prevent type mismatch errors wheresectionsreturns as string instead of array.Best when: Enable `strict: true` constrained decoding in Bedrock Converse deployments to enforce schema compliance and eliminate `PageDecodeError` from malformed array outputs.
Tips
- Enable `strict: true` constrained decoding in Bedrock Converse deployments to enforce schema compliance and eliminate `PageDecodeError` from malformed array outputs.
Watch out for
- Image editing workflows fail even with native function calling, producing invalid image URLs or silent failures on attachment handling.
Ranks #3 on BFCL with 72.38% overall, showing strong tool-calling performance with slightly faster latency than the leader.
Best when: Deploy for cost-sensitive tool-calling pipelines where 72.38% BFCL accuracy suffices, benefiting from 4.34s mean latency and open-weight flexibility across DeepInfra, LiteLLM, and OpenRouter.
Tips
- Deploy for cost-sensitive tool-calling pipelines where 72.38% BFCL accuracy suffices, benefiting from 4.34s mean latency and open-weight flexibility across DeepInfra, LiteLLM, and OpenRouter.
Watch out for
- Chat template lacks explicit thinking on/off switch, relying only on `reasoning_effort` and `clear_thinking` kwargs which can cause reasoning extraction mismatches with GLM-4.5/4.6-era parsers.
OpenAI: GPT-5.6 Sol ranks #1 of 6 on LMArena's search arena (score 1257), measuring answers produced with search.
Best when: Consider only after reviewing the cited caution.
Scores 56.24% on BFCL with the fastest latency at 2.99s, though being deprecated and showing model behavior issues with thought wrapping.
Best when: Consider only after reviewing the cited caution.
Watch out for
- Model is actively deprecated with known thought-wrapping behavior issues, and community reports advise against relying on it for any production tool calling.
Ranks #3 on LMArena search arena and designated for plan-review and security advisory roles in multi-model agent hierarchies.
Best when: Consider only after reviewing the cited caution.
Watch out for
- Not designated for primary implementation or execution tiers, limiting its role to review and advisory rather than core tool-calling loops.
Scores 55.46% on BFCL but fails with 400 errors on native tool calling due to unconditional temperature setting incompatible with GPT-5 family requirements.
Best when: Consider only after reviewing the cited caution.
Watch out for
- Native tool-calling path unconditionally sets `temperature`, causing 400 `unsupported_value` errors since GPT-5 family only accepts default temperature (1), breaking all tool calls.
Ranks #4 on LMArena's agentic arena for tool-use and multi-step tasks, with migration paths to newer Opus 5 generation.
Best when: Consider only after reviewing the cited caution.
Watch out for
- Being superseded by Claude Opus 5 in active agent definitions, with nine Opus 4.8 agents already migrated, suggesting declining long-term support.
Frequently asked
- What is the top-ranked model for Tool & Function Calling?
- Anthropic: Claude Opus 4.5 ranks first in the current evidence-weighted comparison. Use for complex multi-turn agent workflows where hallucination-resistant tool selection and strict format adherence matter, given its #1 BFCL ranking across all measured dimensions.[1]
- What should I watch out for with Anthropic: Claude Opus 4.5?
- Expect ~4.38s mean latency per call on BFCL, which may bottleneck high-frequency tool chains.[1]
- What is an alternative to Anthropic: Claude Opus 4.5?
- Anthropic: Claude Sonnet 4.5 is the next-ranked option. Enable `strict: true` constrained decoding in Bedrock Converse deployments to enforce schema compliance and eliminate `PageDecodeError` from malformed array outputs.[2]
Sources
- 1
“Scores 77.47% overall on BFCL (#1 of 32), measuring single-turn, multi-turn, web-search, memory, hallucination, and format-sensitive tool calling; mean latency was 4.38s.”
Berkeley Function-Calling Leaderboard · Benchmark · Sep 4, 2026 - 2
“## 背景 #111 で経路 B の応答を tool use で受け取るようにしたが、2026-08-22 23:09 の再投入 (2608.17950v1) で 12 ページ目がモデルの出力 `sections` が配列ではなく文字列で返り、`PageDecodeError` になった (#113 の再試行でも同じ)。 tool use の `inputSchema` は `strict` を付けないと型を保証しない。公式ドキュメントは「strict なしでは型の不一致や必須欠落が起こり得る」と述べ、解決策として `strict: true` (constrained decoding) を提示している。 Claude Sonnet 4.5 は Bedrock Converse (`bedrock-runtime`、cross-region inference 含む) で対象。 - [ToolSpecification API Reference](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime…”
tamaco489 · GitHub · Aug 22, 2026 - 3
“I retested with `anthropic/claude-sonnet-4.5` using Native function calling. The behavior is different from GPT-4.1 Mini, but image editing still does not work. The image upload itself succeeds: However, I observed two different failures. ### Failure 1: Open WebUI builds an invalid image URL edit_image attempts to load the uploaded image from: This returns: The same file is available successfully through the local Open WebUI endpoint: The relevant traceback is: ### Manual attachment fallback wi…”
GUILHERME-GARCIATECH · GitHub · Jul 28, 2026 - 4
“Scores 72.38% overall on BFCL (#3 of 32), measuring single-turn, multi-turn, web-search, memory, hallucination, and format-sensitive tool calling; mean latency was 4.34s.”
Berkeley Function-Calling Leaderboard · Benchmark · Sep 4, 2026 - 5
“### 🐛 Describe the bug GLM-5.3's chat template has **no thinking on/off switch** — its only knobs are `reasoning_effort` (`'low'`/`'high'`, anything else → `'max'`) and `clear_thinking`: (`zai-org/GLM-5.3-Flash` `chat_template.jinja`; `enable_thinking` appears nowhere in the template.) But the GLM reasoning parser still gates reasoning **extraction** on the GLM-4.5/4.6-era kwargs. At current `main`, `vllm/parser/glm47_moe.py`: So when a client sends `chat_template_kwargs: {"enable_thinking": f…”
sethforprivacy · GitHub · Sep 1, 2026 - 6
“Might be a model behavior issue or upstream provider issue for not wrapping the thought but honesty, i am guessing this is a model behavior issue here. Also gemini 2.5 is being deprecated any day now and is a dinosaur. Shouldn't rely on it for any form of tool calling really. I wouldn't at least. Not an open webui issue. Not reproducible with any newer gemini model or other models.”
Classic298 · GitHub · Aug 10, 2026 - 7
“## Summary A five-model advisor review of the newly merged model-tier taxonomy (`c266410`, agent-harness#309) converged on an author/reviewer split, but rejected making the heavy tier the default implementation tier. Recommended upstream policy: - roadmap/plan/supervise: Claude Opus 5 (`heavy`) - execute/repair: Claude Sonnet 5 (`regular`), with a recorded escalation to Opus 5 after repeated verification failure - plan-review/code-review/advise/security: Claude Fable 5 (`ultra`) - worker/econom…”
ViperJuice · GitHub · Jul 26, 2026 - 8
“## Befund `tool_calls._chat_with_tools` setzt `temperature` bedingungslos in den Request. Der Quirk aus #1096 — die GPT-5-/o1/o3/o4-Reasoning-Familie akzeptiert ausschließlich den Default (1) und antwortet sonst 400 `unsupported_value` — ist auf diesem Pfad nie nachgezogen worden. `chat` und `describe_image` haben ihn. Konkret heißt das: ein natives Tool-Calling gegen `gpt-5-mini`, `o3` oder Verwandte läuft heute in einen 400, und zwar ohne Netz — der Tools-Pfad hat auch keinen Temperature-Fall…”
arn0ld87 · GitHub · Aug 11, 2026 - 9
“## Scope Optimize agent frontmatter across all 24 agent definitions and migrate the Claude Opus model generation, then close the resulting runtime routing and loop-timestamp gaps. ## Changes - Normalize frontmatter field order and `reasoning` blocks across all 24 agents - Migrate nine Opus 4.8 agents to Claude Opus 5; keep seven agents on Sonnet 5 - Add `claude-opus-5`, `claude-sonnet-5`, and `claude-sonnet-4.5` capability metadata plus provider aliases for copilot, claude-code, and anthropic-a…”
jnPiyush · GitHub · Jul 27, 2026
Rankings synthesized from community evidence and open benchmarks. See methodology. Not driven by vendor marketing.