vercel/next.js · error

unstable_notFound has been renamed to notFound, please updat

Error message

unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}

What it means

Migration guard in renderToHTMLImpl's getServerSideProps result validation: the returned object contains the legacy unstable_notFound key, which was renamed to notFound. The response-shape validator rejects the old key so the renamed API is used instead.

Source

Thrown at packages/next/src/server/render.tsx:1152

        delete serverSidePropsError.code
      }
      throw serverSidePropsError
    }

    if (data == null) {
      throw new Error(GSSP_NO_RETURNED_VALUE)
    }

    if ((data as any).props instanceof Promise) {
      deferredContent = true
    }

    const invalidKeys = Object.keys(data).filter(
      (key) => key !== 'props' && key !== 'redirect' && key !== 'notFound'
    )

    if ((data as any).unstable_notFound) {
      throw new Error(
        `unstable_notFound has been renamed to notFound, please update the field to continue. Page: ${pathname}`
      )
    }
    if ((data as any).unstable_redirect) {
      throw new Error(
        `unstable_redirect has been renamed to redirect, please update the field to continue. Page: ${pathname}`
      )
    }

    if (invalidKeys.length) {
      throw new Error(invalidKeysMsg('getServerSideProps', invalidKeys))
    }

    if ('notFound' in data && data.notFound) {
      if (pathname === '/404') {
        throw new Error(
          `The /404 page can not return notFound in "getStaticProps", please remove it to continue!`
        )

View on GitHub (pinned to 89d017eac4)

Solutions

  1. Rename the returned field `unstable_notFound` to `notFound` in the data function for the page.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/next/src/server/render.tsx:1154 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of vercel/next.js@89d017eac4 (2026-08-19). Data as JSON: /api/errors/ea2303b30fbe6af8. Report an issue: GitHub.