BFCL v4: The Berkeley Function-Calling Leaderboard, Explained
The benchmark every tool-using assistant team checks before shipping, now extended to agentic tool use.
Construction
BFCL evaluates function-calling: given a user query and a candidate set of function definitions (name, description, parameters, return type), the model must emit a structured tool call. The Berkeley Gorilla team curates test cases spread across categories that escalate in difficulty, and re-runs the board as new models appear.
v1 (Feb 2024) tested only Simple AST grading: one function in scope, exact-match on the emitted call. v2 (Aug 2024) added live function execution (the call actually runs against a real API), multi-step (the model must call several functions in sequence), and parallel (one turn, multiple calls). v3 (Dec 2024) added Relevance Detection (the model must refuse to call any tool when none is relevant) and Multi-Turn state tracking across long dialogues. v4, introduced at ICML 2025, adds a holistic agentic layer on top of those function-calling categories: agentic web search (multi-hop retrieval with error recovery), agent memory management, and format sensitivity (how much a model's answer shifts when the tool schema is re-formatted). The public board carried V4 as of its 12 April 2026 update.
Per-Model Scores
We do not reprint a per-model BFCL score table. A responsible cross-model table would need each cell taken from the official Berkeley leaderboard under a disclosed harness, and that board is JavaScript-rendered and lags the current frontier generation, while vendor-reported function-calling numbers come from harnesses we cannot inspect. Any table we copied here would be stale or unverifiable. For live rankings use the official BFCL leaderboard, and start from the homepage task picker to find the benchmark that matches your use case.
Reading BFCL Scores
Always inspect the per-category breakdown, not just the overall. A model that scores 85% overall by acing Simple and tanking Multi-Turn is a different proposition for production than one that scores 80% by being merely competent across categories. The overall number averages over varying difficulty; the category-level table is where you find which failure mode dominates.
Q.01What is BFCL?+
Q.02What are the BFCL categories?+
Q.03Why does function-calling need a dedicated benchmark?+
Q.04Where can I find current per-model BFCL scores?+
Q.05Is BFCL gameable?+
Sources
- [1] BFCL leaderboard: gorilla.cs.berkeley.edu/leaderboard
- [2] BFCL v3 (multi-turn) announcement: gorilla.cs.berkeley.edu/blogs/13_bfcl_v3
- [3] BFCL v4 agentic evaluation (web search / memory / format sensitivity): blogs/15_bfcl_v4_web_search, 16_bfcl_v4_memory, 17_bfcl_v4_prompt_variation
- [4] Gorilla repository: github.com/ShishirPatil/gorilla