Framework semantic default
Next.js params Promise await params page dynamic route official docs
Production render throws because `params.slug` is accessed before awaiting the params promise.
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 page reads params synchronously
Likely root cause: Production render throws because `params.slug` is accessed before awaiting the params promise.
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
Production render throws because `params.slug` is accessed before awaiting the params promise.
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 params should be awaited params is a Promise Next.js 16 dynamic route
Next.js params Promise await params page dynamic route official docs
https://nextjs.org/docs/app/api-reference/file-conventions/page