---
name: nextjs-16-facts
description: "Verify Next.js App Router code against the exact installed version instead of stale training-data assumptions. Use before writing or reviewing anything touching params, route handlers, metadata, caching, or middleware in a Next.js 15+/16+ project. Next.js ships breaking changes across minor versions (params are now Promises, GET handlers are no longer cached, middleware is deprecated for proxy), so this reads the version and points at node_modules/next/dist/docs as ground truth."
---

# Next.js 16 Facts

Next.js changes its API surface every few versions and training data is usually wrong about it. This checks your code against the version you actually installed, not what a model remembers.

## Read first

[project-setup](https://selwynuy.dev/d/project-setup.md), [system-architecture](https://selwynuy.dev/d/system-architecture.md), [type-system](https://selwynuy.dev/d/type-system.md)

## Bundled files

- `scripts/check-next-version.mjs` (script): Reads the target's installed Next.js version and reports whether bundled docs exist to treat as ground truth.
- `references/verified-facts.md` (reference): The version-specific breaking changes with the fix for each, and the rule that bundled docs override memory.

---

Part of Next.js 16 Facts from Selwyn Uy's Next.js Handbook. Full page: https://selwynuy.dev/skills/nextjs-16-facts
