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
- Move all component props under the `props` key: `return { props: { ... } }`.
- 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.