vercel/next.js · error · Error

Route ${workStore.route} used ${apiName} inside `generateSta

Error message

Route ${workStore.route} used ${apiName} inside `generateStaticParams`, but the `${paramName}` parameter was not provided by a parent `generateStaticParams`. In `generateStaticParams`, root params are only available for segments nested below the segment that provides them.

What it means

Error "Route ${workStore.route} used ${apiName} inside `generateStaticParams`, but the `${paramName}` parameter was not provided by a parent `generateStaticParams`. In `generateStaticParams`, root params are only available for segments nested below the segment that provides them." thrown in vercel/next.js.

Source

Thrown at packages/next/src/server/request/root-params.ts:117

          return Promise.reject(err)
        }
      }
      break
    }
    case 'private-cache': {
      // In dev, private caches are persisted and keyed by root params (like
      // public caches), so we track which ones were read.
      if (workUnitStore.readRootParamNames) {
        workUnitStore.readRootParamNames.add(paramName)
      }
      break
    }
    case 'prerender-runtime': {
      break
    }
    case 'generate-static-params': {
      if (!(paramName in workUnitStore.rootParams)) {
        throw new Error(
          `Route ${workStore.route} used ${apiName} inside \`generateStaticParams\`, but the \`${paramName}\` parameter was not provided by a parent \`generateStaticParams\`. In \`generateStaticParams\`, root params are only available for segments nested below the segment that provides them.`
        )
      }
      break
    }
    default: {
      workUnitStore satisfies never
    }
  }

  accumulateRootVaryParam(paramName)
  return Promise.resolve(workUnitStore.rootParams[paramName])
}

function createPrerenderRootParamPromise(
  paramName: string,
  workStore: WorkStore,
  prerenderStore: PrerenderStoreLegacy | PrerenderStoreModernServer,

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Return the param from a parent segment's generateStaticParams so nested segments can read it.
Defensive patterns

Strategy: validation

When it happens

Trigger: generateStaticParams requests a root param not provided by a parent.

Common situations: Accessing a param from next/root-params that belongs to a segment above the current one.


AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19). Data as JSON: /api/errors/4b511465665d40f2. Report an issue: GitHub.