vercel/next.js · error
Route ${workStore.route} used `${callingExpression}()` insid
Error message
Route ${workStore.route} used `${callingExpression}()` inside `generateStaticParams`. This is not supported because `generateStaticParams` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context What it means
Error "Route ${workStore.route} used `${callingExpression}()` inside `generateStaticParams`. This is not supported because `generateStaticParams` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context" thrown in vercel/next.js.
Source
Thrown at packages/next/src/server/request/draft-mode.ts:86
if (draftModeProvider) {
return createOrGetCachedDraftMode(draftModeProvider, workStore)
}
// Otherwise, we fall through to providing an empty draft mode.
// eslint-disable-next-line no-fallthrough
case 'prerender':
case 'prerender-legacy':
// Return empty draft mode
return createOrGetCachedDraftMode(null, workStore)
case 'prerender-client':
case 'validation-client': {
const exportName = '`draftMode`'
throw new InvariantError(
`${exportName} must not be used within a Client Component. Next.js should be preventing ${exportName} from being included in Client Components statically, but did not in this case.`
)
}
case 'generate-static-params':
throw new Error(
`Route ${workStore.route} used \`${callingExpression}()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`
)
default:
return workUnitStore satisfies never
}
}
function createOrGetCachedDraftMode(
draftModeProvider: DraftModeProvider | null,
workStore: WorkStore | undefined
): Promise<DraftMode> {
const cacheKey = draftModeProvider ?? NullDraftMode
const cachedDraftMode = CachedDraftModes.get(cacheKey)
if (cachedDraftMode) {
return cachedDraftMode
}View on GitHub (pinned to 258b1c1bc0)
Solutions
- Do not call draftMode() inside generateStaticParams; it runs at build time without a request.
Defensive patterns
Strategy: validation
When it happens
Trigger: draftMode() is called inside generateStaticParams.
Common situations: Using draft mode APIs at build time inside generateStaticParams.
AI-assisted analysis of vercel/next.js@258b1c1bc0 (2026-08-19).
Data as JSON: /api/errors/d3d80a19e0ccb7a2.
Report an issue: GitHub.