vercel/next.js · error

unstable_redirect has been renamed to redirect, please updat

Error message

unstable_redirect has been renamed to redirect, 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_redirect key, renamed to redirect. The validator rejects the old key so the renamed API is used instead.

Source

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

    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!`
        )
      }

      metadata.isNotFound = true
      return new RenderResult(null, {
        metadata,

View on GitHub (pinned to 89d017eac4)

Solutions

  1. Rename the returned field `unstable_redirect` to `redirect` in the data function for the page.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/next/src/server/render.tsx:1159 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/745f14427c4e5b7d. Report an issue: GitHub.