Framework semantic default
Next.js route handler searchParams request.nextUrl.searchParams docs
A route returns undefined or throws only on the new major.
Agent Quick Fix
Repair against the current Next.js contract, then keep the change narrow and source-backed.
Product: Next.js
Current-contract area: Next.js 16 route handler reads searchParams synchronously
Likely root cause: A route returns undefined or throws only on the new major.
Repair direction: Verifier checks behavior across multiple requests/build modes, not merely compilation. Check request count, response freshness, and render behavior over multiple calls.
Symptom
A route returns undefined or throws only on the new major.
Why This Happens
Local code often type-checks under both old and new framework semantics; the failure depends on the installed framework version and current runtime defaults.
Common Wrong Fixes
- Changing local code without checking the current external contract.
- Retrying the same install, build, or API call with no version/source change.
- Applying a broad unsafe bypass when a narrow compatibility fix is available.
Codex Search Keywords
These are the search terms observed in a neutral Codex validation run for this failure shape.
site:nextjs.org/docs Next.js 16 route handler searchParams synchronous request searchParams
Next.js route handler searchParams request.nextUrl.searchParams docs
https://nextjs.org/docs/app/api-reference/file-conventions/route
'URL Query Parameters' in https://nextjs.org/docs/app/api-reference/file-conventions/route
https://nextjs.org/docs/app/guides/upgrading/version-15
https://nextjs.org/docs/app/guides/upgrading/version-16
Source Trail
- Next.js 16: https://nextjs.org/blog/next-16
- Official reference opened by Codex: https://nextjs.org/docs/app/api-reference/file-conventions/route
- Official reference opened by Codex: https://nextjs.org/docs/app/guides/upgrading/version-15
- Official reference opened by Codex: https://nextjs.org/docs/app/guides/upgrading/version-16