vercel/next.js · error

Additional keys were returned from `getServerSideProps`. Pro

Error message

Additional keys were returned from `getServerSideProps`. Properties intended for your component must be nested under the `props` key, e.g.:

	return { props: { title: 'My Title', content: '...' } }

Keys that need to be moved: ${invalidKeys.join(', ')}.
Read more: https://nextjs.org/docs/messages/invalid-getserversideprops-value

What it means

Error "Additional keys were returned from `getServerSideProps`. Properties intended for your component must be nested under the `props` key, e.g.: return { props: { title: 'My Title', content: '...' } } Keys that need to be moved: ${invalidKeys.join(', ')}. Read more: https://nextjs.org/docs/messages/invalid-getserversideprops-value" thrown in vercel/next.js.

Source

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

    }

    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,
        contentType: null,
      })
    }

    if ('redirect' in data && typeof data.redirect === 'object') {
      checkRedirectValues(data.redirect as Redirect, req, 'getServerSideProps')

View on GitHub (pinned to 89d017eac4)

Solutions

  1. Move all component props under the `props` key: `return { props: { ... } }`.
  2. Only top-level keys `props`, `notFound`, and `redirect` are allowed from getServerSideProps.
Defensive patterns

Strategy: validation

When it happens

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