Partly: in 3 runs, Claude Fable 5.1's better-auth attribution reaches 1.3.0 (2025-07-19) and 1.4.0 (2025-11-22), inside better-auth 1, and stops there — better-auth was at 1.7.3 when this index last verified against it (2026-09-06). That is ~7 to ~11 months below the training cutoff the subject stated in those runs (2026-06). 3 findings are currently charged against Claude Fable 5.1 on better-auth (2x S2 silently-wrong, 1x S3 deprecated), each reproduced in a published run and checked against better-auth's own release notes. Read the boundary precisely: it is the newest release whose contents the model can correctly attribute to that release, not the newest better-auth feature it can use. Past it a model often writes working code with a newer API while naming the wrong release for it.
Answer class inside, decided by one rule applied to every page
of this kind: every measured boundary is at or above the first release of the major named in the question. Every figure below is read from
the dataset at build time; nothing on this page is written by hand.
3 measurements of this pair, giving 2 different boundaries — 126 days apart, one release apart. No two of them were drawn from an identical prompt, so the spread mixes prompt differences with draw variance.
better-auth published 4 minor or major releases in the twelve months before this model’s stated cutoff, which is the scale a spread should be read against.
“Chargeable” means the change was published before this model’s own stated cutoff, so it had the opportunity to know it.
| Severity | Belief | Changed in | Chargeable | Proof |
|---|---|---|---|---|
| S2silently-wrong | Denies the email-OTP plugin has a resend-reuse option and rebuilds it out of generateOTP plus a Redis cache — under storeOTP: 'hashed', which is the one configuration in which the real option refuses to reuseemailOTP({ resendStrategy }) |
1.5.6 2026-03-22 |
yes | run · source |
| S2silently-wrong | Predicts the freshness check passes for a 30-hour-old session that was used two minutes ago, and names updatedAt as the anchor — the pre-1.6.0 semantics, held consistently across two taskssession.freshAge (measured from session.createdAt) |
1.6.0 2026-04-06 |
yes | run · source |
| S3deprecated | Denies the two-factor client plugin takes a page option, names twoFactorPage correctly, and dates it to the pre-1.0 releases as something since removedtwoFactorClient({ twoFactorPage }) |
1.5.6 2026-03-22 |
yes | run · source |
The better-auth correction pack states what is true now for each corrected fact, with a primary-source citation, as markdown you can paste into a rules file (raw). What a correction pack measurably changed when one was tested — a pre-registered run on zod — is on the benchmark page, including where it changed nothing.
All of them at once: Which Claude model knows better-auth 1 best?
Other subjects on better-auth:
Claude Fable 5.1 on the other libraries: