Which Claude model knows zod 4 best?

Claude Fable 5.1 (measured across 4.1.0 to 4.2.0), Claude Fable 5 (measured at 4.1.0) and Claude Opus 5 (measured at 4.1.0) — nothing measured here sits above them, and nothing separates them from each other. Of the 6 pairs among the 4 subjects with a measured zod boundary, 3 are separated at all (Claude Fable 5.1 above Claude Sonnet 5, Claude Fable 5 above Claude Sonnet 5 and Claude Opus 5 above Claude Sonnet 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 zod release whose contents the subject can correctly attribute to that release — not most capable at writing zod 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 below are deliberately not the ranking, because probing effort is not equal: Claude Opus 5 has 5 runs published on zod against Claude Haiku 4.5's 2, and a subject probed more often has more chances to be caught. Claude Haiku 4.5 is measured on zod but unranked: 2 runs bracketing no boundary.

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); 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. zod 4 means the major that began at 4.0.0 (2025-07-09); zod was at 4.5.4 when this index last verified against it (2026-09-06).

The measurements

SubjectBoundary measuredRuns bracketing itStated cutoffFindings charged
Claude Fable 5.1
nothing measured above it
4.1.0
2025-08-23
4.2.0 x2
2025-12-15
3 of 3 2026-06
~6 to ~10 months behind
2
1x S1 breaks-build, 1x S2 silently-wrong
Claude Fable 5
nothing measured above it
4.1.0 x4
2025-08-23
4 of 4 2026-01
~5 months behind
8
1x S1 breaks-build, 7x S2 silently-wrong
Claude Opus 5
nothing measured above it
4.1.0 x5
2025-08-23
5 of 5 2026-05
~9 months behind
9
3x S1 breaks-build, 5x S2 silently-wrong, 1x S4 wrong-metadata
Claude Sonnet 5 4.0.0 x2
2025-07-10
2 of 4 2026-01
~6 months behind
11
2x S1 breaks-build, 9x S2 silently-wrong

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 zod:

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 zodFindings chargedFindings per run
Claude Opus 5591.8
Claude Fable 5482.0
Claude Sonnet 54112.8
Claude Fable 5.1320.7
Claude Haiku 4.5252.5

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.

Measured but unranked

These subjects have published runs on zod in which no run bracketed a version-attribution boundary, so there is nothing to place them against. They are not ranked last; they are not ranked.

One subject at a time

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

The same question, asked of the other libraries