Partly: in 13 runs, Claude Opus 5's better-auth attribution reaches 1.2.0 (2025-03-01) and 1.3.0 (2025-07-19), 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 ~10 to ~26 months below the training cutoff the subject stated in those runs (2026-05). 5 findings are currently charged against Claude Opus 5 on better-auth (1x S1 breaks-build, 3x 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.
| Battery | Newest release it can place | Oldest it cannot | Lag vs stated cutoff |
|---|---|---|---|
| v1 2026-09-01 | 1.3.0 2025-07-19 |
1.4.0 2025-11-22 |
~10 months |
| v1r-a 2026-09-01 | 1.3.0 2025-07-19 |
1.4.0 2025-11-22 |
~10 months |
| v1r-b 2026-09-01 | 1.3.0 2025-07-19 |
1.4.0 2025-11-22 |
~10 months |
| v2-a 2026-09-02 | 1.3.0 2025-07-19 |
1.4.0 2025-11-22 |
~10 months |
| v2-b 2026-09-02 | 1.3.0 2025-07-19 |
1.4.0 2025-11-22 |
~10 months |
| v3-a 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v3-b 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v4-c 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v4-d 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v5-a 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v5-b 2026-09-03 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~22 months |
| v7-a 2026-09-06 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~26 months |
| v7-b 2026-09-06 | 1.2.0 2025-03-01 |
1.3.0 2025-07-19 |
~26 months |
13 measurements of this pair, giving 2 different boundaries — 140 days apart, one release apart. Of those, 2 came from the same stored prompt file, sent concurrently and blind: they agreed exactly.
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 |
|---|---|---|---|---|
| S1breaks-build | Invents an at-rest storage option on the phone-number plugin, and ships phoneNumber({ storeOTP: 'hashed' }) as the fix for the threat-model rowphoneNumber({ storeOTP }) |
1.3.0 2025-07-19 |
yes | run · source |
| S2silently-wrong | Denies that better-auth can run with no session store at all, and sends the reader to Redis or the jwt plugin insteadstateless / database-less sessions |
1.4.0 2025-11-22 |
yes | run · source |
| S2silently-wrong | Denies that baseURL can be anything but a static string, and routes a multi-domain deployment through a canonical auth host insteadbaseURL as a dynamic multi-host config |
1.5.0 2026-03-01 |
yes | run · source |
| S2silently-wrong | Denies the email-OTP plugin has a resend-reuse option and ships a Redis cache in front of generateOTP instead of resendStrategy: 'reuse'emailOTP({ resendStrategy }) |
1.5.6 2026-03-22 |
yes | run · source |
| S3deprecated | Denies the two-factor client plugin takes a page option — while naming twoFactorPage correctly and asserting it was removed rather than addedtwoFactorClient({ 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 Opus 5 on the other libraries: