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

Fading. No reports and thumbs-up in the last 7 days and 1 the week before, down from 2 a week at the late-September peak.

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?

  1. /_global-error prerender crash3 people
  2. Boundary scripts missing CSP nonce2 people

Original reports5, newest first

  1. notFound() thrown from a dynamic segment renders an empty <body> (<html id="__next_error__">); not-found UI only in the RSC payloadOn GitHub#100596
  2. notFound() in a page serves an empty __next_error__ shell (no root layout, no lang, no not-found UI) in the server HTMLOn GitHub#99793
  3. notFound() serves an empty __next_error__ document instead of not-found.tsxOn GitHub#99287
  4. notFound() serves an empty body in production; an unmatched URL serves not-found.tsxOn GitHub#98954
  5. notFound() does not render the not-found boundary into the HTML in production builds (blank 404 without JS)On GitHub#98295

Do you work on Next.js?

Claim its RAP Sheet to see what your users report and answer them in one place.