gatsbyjs/gatsby · error
[gatsby] node manifests were created but no page-data.json f
Error message
[gatsby] node manifests were created but no page-data.json files were written, so manifest ID's were not added to page-data.json files. This may be a bug or it may be due to a source plugin creating a node manifest for a node that did not change. Node manifest IDs: ${nodeManifests.map(n => n.manifestId).slice(0, maxManifestIdsToLog).join(",")}${nodeManifests.length > maxManifestIdsToLog ? ` There were ${nodeManifests.length - maxManifestIdsToLog} additional ID's that were not logged due to output length.` : ``} What it means
Error "[gatsby] node manifests were created but no page-data.json files were written, so manifest ID's were not added to page-data.json files. This may be a bug or it may be due to a source plugin creating a node manifest for a node that did not change. Node manifest IDs: ${nodeManifests.map(n => n.manifestId).slice(0, maxManifestIdsToLog).join(",")}${nodeManifests.length > maxManifestIdsToLog ? ` There were ${nodeManifests.length - maxManifestIdsToLog} additional ID's that were not logged due to output length.` : ``}" thrown in gatsbyjs/gatsby.
Source
Thrown at packages/gatsby/src/utils/page-data.ts:231
slicesByTemplate,
nodeManifests,
} = store.getState()
const isBuild = program?._?.[0] !== `develop`
const { pagePaths, sliceNames } = pendingPageDataWrites
let writePageDataActivity
let nodeManifestPagePathMap
if (pagePaths.size > 0) {
// we process node manifests in this location because we need to add the manifestId to the page data.
// We use this manifestId to determine if the page data is up to date when routing. Here we create a map of "pagePath": "manifestId" while processing and writing node manifest files.
// We only do this when there are pending page-data writes because otherwise we could flush pending createNodeManifest calls before page-data.json files are written. Which means those page-data files wouldn't have the corresponding manifest id's written to them.
nodeManifestPagePathMap = await processNodeManifests()
} else if (nodeManifests.length > 0 && staleNodeManifests) {
staleNodeManifests = false
reporter.warn(
`[gatsby] node manifests were created but no page-data.json files were written, so manifest ID's were not added to page-data.json files. This may be a bug or it may be due to a source plugin creating a node manifest for a node that did not change. Node manifest IDs: ${nodeManifests
.map(n => n.manifestId)
.slice(0, maxManifestIdsToLog)
.join(`,`)}${
nodeManifests.length > maxManifestIdsToLog
? ` There were ${
nodeManifests.length - maxManifestIdsToLog
} additional ID's that were not logged due to output length.`
: ``
}`
)
nodeManifestPagePathMap = await processNodeManifests()
} else if (nodeManifests.length > 0) {
staleNodeManifests = true
}
if (pagePaths.size > 0 || sliceNames.size > 0) {View on GitHub (pinned to e85d62f177)
Solutions
- Re-run the build so changed pages write page-data.json and manifest IDs are persisted
- Check whether the node manifest was created for an unchanged node (no page-data write expected)
- If page-data writes are expected, report as a potential bug with the listed manifest IDs
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/gatsby/src/utils/page-data.ts:231 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26).
Data as JSON: /api/errors/e8e48a1a0657ad06.
Report an issue: GitHub.