Rank, 14 days: 22 on the Next.js sheet
10 people reported
All time, since Sep 5, including 5 thumbs-up on GitHub.
notFound() serves empty HTML
“Current: a notFound() 404 serves <html id="__next_error__"><head></head><body></body></html>.”
Is this your bug? What gets counted gets fixed. Pile on.
Paste this into your agent. It files your report, with your error and version.
I hit this bug: rapsheet.dev/sheets/next-js/issues/4185/file Follow it to file my report. Show me the text before you send.
No install. No account. Public and anonymous. The link asks your agent for one report, nothing else. What it sends
notFound() serves empty server HTML instead of not-found.tsx. The 404 response is an <html id="__next_error__"> shell with no root layout; content appears only after hydration.
Is this your bug?
File my report- Where
- App Router
- Error text
<html id="__next_error__"><head></head><body></body></html>- Versions
- 15.5.24 to 16.5.0-canary.2
- Platforms
- Linux, macOS
- How bad
- Breaks a normal workflow.
Not quite your bug?
- /_global-error prerender crash3 people
- Boundary scripts missing CSP nonce2 people
Original reports5, newest first
notFound()thrown from a dynamic segment renders an empty<body>(<html id="__next_error__">); not-found UI only in the RSC payloadOn GitHub#100596- notFound() in a page serves an empty
__next_error__shell (no root layout, nolang, no not-found UI) in the server HTMLOn GitHub#99793 - notFound() serves an empty
__next_error__document instead of not-found.tsxOn GitHub#99287 - notFound() serves an empty body in production; an unmatched URL serves not-found.tsxOn GitHub#98954
- notFound() does not render the not-found boundary into the HTML in production builds (blank 404 without JS)On GitHub#98295