{"record":{"id":"817fc7ccb868b6e1","repo":"gatsbyjs/gatsby","slug":"plugin-pluginname-called-unstable-createnodeman-817fc7","errorCode":null,"errorMessage":"Plugin ${pluginName} called unstable_createNodeManifest with a manifestId that isn't a string.","messagePattern":"Plugin (.+?) called unstable_createNodeManifest with a manifestId that isn't a string\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/redux/reducers/node-manifest.ts","lineNumber":45,"sourceCode":"          !isNaN(nodeLastUpdatedAtUTC)\n        ) {\n          reporter.warn(\n            `Plugin ${pluginName} called unstable_createNodeManifest with an updatedAtUTC that isn't a proper value to instantiate a Date.`\n          )\n\n          return state\n        }\n\n        const shouldCreateNodeManifest =\n          Date.now() - nodeLastUpdatedAtUTC <= maxDaysOld * ONE_DAY\n\n        if (!shouldCreateNodeManifest) {\n          return state\n        }\n      }\n\n      if (typeof manifestId !== `string`) {\n        reporter.warn(\n          `Plugin ${pluginName} called unstable_createNodeManifest with a manifestId that isn't a string.`\n        )\n\n        return state\n      }\n\n      if (!node?.id) {\n        reporter.warn(\n          `Plugin ${pluginName} called unstable_createNodeManifest but didn't provide a node.`\n        )\n\n        return state\n      }\n\n      state.push({\n        manifestId,\n        pluginName,\n        node: {","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby/src/redux/reducers/node-manifest.ts#L27-L63","documentation":"Validation inside nodeManifestReducer: unstable_createNodeManifest was called with a manifestId that is not a string. The reducer rejects the manifest (returns state unchanged) and warns, since manifest ids must be strings to key content-update events for incremental builds.","triggerScenarios":"Thrown at packages/gatsby/src/redux/reducers/node-manifest.ts:45 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Coerce the id to a string before calling unstable_createNodeManifest (e.g. String(id) or the node's contentDigest)","Ensure the plugin generates a stable string manifestId per node","Update the source plugin version"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e85d62f1779e353eaac1753211629a26d123e26c","analyzedAt":"2026-08-26T17:50:09.662Z","contentChangedAt":"2026-08-26T17:50:09.662Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}