Home  /  Blog  /  SWE-bench Verified explained
Benchmark explainer

SWE-bench Verified explained: the coding test that grades real GitHub fixes.

A model’s SWE-bench Verified score is the share of 500 real, human-checked GitHub issues it can fix end to end. Here is how the test works, how to read the numbers on our leaderboard, and where they mislead.

By AI Pro League · Published

SWE-bench Verified explained — AI Pro League benchmark explainer

SWE-bench Verified is the coding benchmark this site weights most heavily after general capability: it carries 20% of the League Score. It is also the most misread number in AI — a single percentage that hides a very specific test. This explainer uses our own SWE-bench Verified leaderboard as the worked example throughout.

What SWE-bench Verified measures

The original SWE-bench hands a model a real open-source Python repository plus the text of a real GitHub issue, and asks for a patch. It contains 2,294 issues drawn from a dozen Python repositories. Verified is the human-verified 500-task subset of that pool: every task was checked by hand to confirm the issue is solvable and the tests are fair. A task counts as resolved when the model’s patch makes the tests that were failing on the issue pass, without breaking tests that already passed. The score is simply the percentage of the 500 tasks resolved. The benchmark’s home is swebench.com; the scores we record come from published leaderboards such as BenchLM’s SWE-bench Verified leaderboard, always with the source and the date we verified them.

How a SWE-bench Verified score is calculated

Two different calculations matter. The benchmark score itself is a plain resolution rate: resolve 250 of the 500 tasks and the score is 50. Our League Score then normalises that raw score across the field we track — today the recorded range runs from 51.0 to 96.0 — and weights the result at 20%. The worked example:

From raw score to League component (top 3, as recorded)
ModelRaw scoreNormalised (0–100)
Claude Opus 596.0(96.0 − 51.0) / (96.0 − 51.0) × 100 = 100.0
Claude Sonnet 585.2(85.2 − 51.0) / (96.0 − 51.0) × 100 = 76.0
Kimi K2.680.2(80.2 − 51.0) / (96.0 − 51.0) × 100 = 64.9

Normalisation is why a raw gap of a few points near the top of the table can be worth more League Score than a big gap at the bottom — and why the component is read against the current field, not against an absolute standard. Full method: how the League Score is built.

What a good SWE-bench Verified score looks like

Only 13 of the 59 models in our database carry a recorded score, and the spread is wide: the median recorded score is 73.6, the floor is 51.0 and the ceiling is 96.0. Until more of the field is measured, treat the ranking as a leaderboard of the tested, not of everyone.

Top 5 on our leaderboard
#ModelMakerScoreMeasured
1Claude Opus 5Anthropic96.0Oct 14, 2026
2Claude Sonnet 5Anthropic85.2Oct 14, 2026
3Kimi K2.6Moonshot AI80.2Oct 14, 2026
4Mistral Medium 3.5Mistral AI77.6Apr 29, 2026
5Qwen3.5-397B-A17BAlibaba Qwen76.2Oct 14, 2026

The full table, with a source link on every row, is the SWE-bench Verified leaderboard. The shortlist it feeds is our best AI models for coding page.

The limits to keep in mind

For the wider map — what MMLU, HumanEval and the other famous tests measure — see our guide to AI benchmarks explained.