Which Claude model knows react-router 8 best?

Claude Fable 5.1 (measured at 7.9.0), Claude Opus 5 (measured at 7.9.0) and Claude Opus 5.5 (measured at 7.9.0) — nothing measured here sits above them, and nothing separates them from each other. Claude Fable 5 has no react-router run published in this index, so it is not in this comparison. Of the 10 pairs among the 5 subjects with a measured react-router boundary, 7 are separated at all (Claude Fable 5.1 above Claude Sonnet 5, Claude Fable 5.1 above Claude Haiku 4.5, Claude Opus 5 above Claude Sonnet 5, Claude Opus 5 above Claude Haiku 4.5, Claude Opus 5.5 above Claude Sonnet 5, Claude Opus 5.5 above Claude Haiku 4.5 and Claude Sonnet 5 above Claude Haiku 4.5); the rest overlap, and an overlap is a tie rather than a rank. Read "best" precisely: it means best at version attribution — the newest react-router release whose contents the subject can correctly attribute to that release — not most capable at writing react-router code. A subject past its boundary often writes working code with a newer API while naming the wrong release for it. The order is by measured boundary and by nothing else — the finding counts are deliberately not the ranking, because probing effort is not equal: Claude Haiku 4.5 has 5 runs published on react-router against Claude Opus 5.5's 3, and a subject probed more often has more chances to be caught. Claude Fable 5.1's interval is a single draw rather than a range, which is narrow because it was measured once, not because it is stable.

Ranked by one rule, applied to every page of this kind: a subject is placed above another only where the whole of its measured boundary interval sits above the whole of the other's (its lowest measured boundary above the other's highest, where a highest that the run's record flags as equivocal counts as the later release that run placed correctly); every overlap is a tie, and finding counts are not the order. Every figure below is read from the dataset at build time; nothing on this page is written by hand. react-router 8 means the major that began at 8.0.0 (2026-06-17); react-router was at 8.4.0 when this index last tested it (2026-09-28).

The measurements

SubjectBoundary measuredRuns bracketing itStated cutoffFindings charged
Claude Fable 5.1
nothing measured above it
7.9.0
2025-09-12
1 of 3 2026-06
~9 months behind
1
1x S2 silently-wrong
Claude Opus 5
nothing measured above it
7.9.0 x3
2025-09-12
3 of 3 2026-05
~8 months behind
1
1x S2 silently-wrong
Claude Opus 5.5
nothing measured above it
7.9.0 x3
2025-09-12
3 of 3 2026-06
~9 months behind
2
1x S1 breaks-build, 1x S2 silently-wrong
Claude Sonnet 5 7.0.0 x3
2024-11-22
7.3.0 x2
2025-03-06
5 of 5 2026-01
~10 to ~13 months behind
1
1x S1 breaks-build
Claude Haiku 4.5 6.4.0
2022-09-13
6.15.0
2023-08-10
6.20.0 x2
2023-11-22
6.28.0
2024-11-06
5 of 5 2025-02
~3 to ~29 months behind
2
2x S1 breaks-build

Where a subject shows more than one boundary, those are separate draws of the same measurement, printed rather than averaged: the mean of two draws is a release nothing measured. A subject with one bracketing run has an interval one release wide because it was measured once, not because it is stable.

What these measurements actually separate

A subject is placed above another only where the whole of its measured interval sits above the whole of the other’s. Overlaps are ties. That is a partial order, not a table with a winner, and this is what it separates on react-router:

Ties are not merged into tiers. A greedy sweep would put two subjects in the same tier because a third with a wide spread overlaps both, and would print a relation nothing measured.

Why this is not ranked by findings

Finding counts measure what probing found, and probing effort is not equal across subjects. Sorting by them would publish testing effort as model quality, so they are printed and not ranked on.

SubjectPublished runs on react-routerFindings chargedFindings per run
Claude Haiku 4.5520.4
Claude Sonnet 5510.2
Claude Fable 5.1310.3
Claude Opus 5310.3
Claude Opus 5.5320.7

Findings per run is printed for the same reason: it is the count adjusted for effort, and it is still not the ranking — the batteries differ in what they probe, so two runs are not one unit.

Not run on react-router

These subjects are tested on other libraries in this index and have no published run on react-router. This page says nothing about them — they are not ranked last, and “nothing measured here sits above it” does not include them.

One subject at a time

The same data, asked the other way round — one page per subject, with its boundary measurements, its findings on react-router, and how repeatable the boundary was.

The same question, asked of the other libraries