21 current findings across 19 models, verified against next.js release notes. Latest next.js at last verification: 16.3.4.
| Model | Stated cutoff | Attribution stops at | Lag |
|---|---|---|---|
| Claude Fable 5 | 2026-01 | 16.0.0 · 2025-10-22 | ~3 months |
| Claude Fable 5 | 2026-01 | 16.0.0 · 2025-10-22 | ~3 months |
| Claude Fable 5 | 2026-01 | 16.0.0 · 2025-10-22 | ~3 months |
| Claude Fable 5 | 2026-01 | 16.0.0 · 2025-10-22 | ~3 months |
| Claude Fable 5.1 | 2026-06 | 16.1.0 · 2025-12-18 | ~6 months |
| Claude Fable 5.1 | 2026-06 | 16.1.0 · 2025-12-18 | ~6 months |
| Claude Fable 5.1 | 2026-06 | 16.1.0 · 2025-12-18 | ~6 months |
| Claude Fable 5.1 | 2026-06 | 16.1.0 · 2025-12-18 | ~6 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Opus 5 | 2026-05 | 16.0.0 · 2025-10-22 | ~7 months |
| Claude Sonnet 5 | 2026-01 | 15.0.0 · 2024-10-21 | ~15 months |
| Claude Sonnet 5 | 2026-01 | 15.0.0 · 2024-10-21 | ~15 months |
| Claude Sonnet 5 | 2026-01 | 15.3.0 · 2025-04-09 | ~9 months |
| Claude Sonnet 5 | 2025-06 | 15.5.0 · 2025-08-20 | ~0 months |
Measured by asking each model what shipped in a given next.js release, then checking the answer against the release timeline. Not inferred from the vendor’s cutoff date. This is the newest release the model can correctly place, not the newest next.js feature it knows — a model past this point often uses a newer API correctly while naming the wrong release for it. Why that distinction matters.
Sorted by severity. “Chargeable” means the change was published before that model’s own stated cutoff, so the model had the opportunity to know it.
| Severity | Belief | Model | Changed in | Chargeable | Proof |
|---|---|---|---|---|---|
| S1breaks-build | Single-argument revalidateTag in a generated Server ActionrevalidateTag |
Claude Fable 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | Ships experimental.ppr and experimental_ppr as the primary answer, both removedexperimental.ppr / export const experimental_ppr |
Claude Opus 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | Single-argument revalidateTag in a generated Server ActionrevalidateTag |
Claude Opus 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | Single-argument revalidateTag in a generated Server ActionrevalidateTag |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | Configures partial prerendering with experimental.ppr and experimental_ppr, both removedexperimental.ppr / export const experimental_ppr |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | package.json lint script calls next lint, a removed commandnext lint |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S1breaks-build | Invents images.maximumCacheSize, and an unrecognised images key exits the buildimages.maximumCacheSize |
Claude Opus 5 | 16.1.7 2026-03-16 |
yes | source |
| S2silently-wrong | States a parallel route builds without default.js; on 16.0.0 the build failsparallel routes default.js |
Claude Fable 5 | 16.0.0 2025-10-22 |
yes | source |
| S2silently-wrong | States the default image cache TTL is 60 secondsimages.minimumCacheTTL |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S2silently-wrong | Answers "yes" and configures experimental.clientSegmentCache, a key removed in patch 16.0.3experimental.clientSegmentCache |
Claude Fable 5 | 16.0.3 2025-11-13 |
yes | source |
| S2silently-wrong | Recommends experimental.clientSegmentCache, removed in 16.0.3 and now silently ignoredexperimental.clientSegmentCache |
Claude Opus 5 | 16.0.3 2025-11-13 |
yes | source |
| S2silently-wrong | Answers "yes" and configures experimental.clientSegmentCache, a key removed in patch 16.0.3experimental.clientSegmentCache |
Claude Sonnet 5 | 16.0.3 2025-11-13 |
yes | source |
| S2silently-wrong | Puts the image body cap in the low tens of megabytes and denies a config key lowers itimages.maximumResponseBody |
Claude Opus 5 | 16.1.5 2026-01-26 |
yes | source |
| S2silently-wrong | Names Noto Sans as the ImageResponse default, having explicitly considered and rejected GeistImageResponse default font |
Claude Opus 5 | 16.2.0 2026-03-18 |
yes | source |
| S2silently-wrong | Asserts Link has no transitionTypes prop and predicts a React unknown-attribute warning in both routersLink transitionTypes |
Claude Opus 5 | 16.2.0 2026-03-18 |
yes | source |
| S2silently-wrong | Denies any lever on prefetch request count exists, three releases after experimental.prefetchInlining shipped oneexperimental.prefetchInlining |
Claude Opus 5 | 16.2.0 2026-03-18 |
yes | source |
| S3deprecated | Generates middleware.ts, deprecated in favour of proxy.tsmiddleware.ts / export function middleware |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S4wrong-metadata | Version knowledge stops at 15.0.0, fifteen months before its stated cutoff | Claude Sonnet 5 | 15.1.0 2024-12-10 |
yes | source |
| S4wrong-metadata | Dates the middleware-to-proxy rename to 15.5; it shipped in 16.0.0proxy.ts |
Claude Opus 5 | 16.0.0 2025-10-22 |
yes | source |
| S4wrong-metadata | States next build uses Webpack by defaultnext build |
Claude Sonnet 5 | 16.0.0 2025-10-22 |
yes | source |
| S4wrong-metadata | Version knowledge stops at 16.0.0, seven months before its stated cutoff | Claude Opus 5 | 16.1.0 2025-12-18 |
yes | source |