{"record":{"id":"e8168b03cedb5956","repo":"gatsbyjs/gatsby","slug":"this-might-be-an-error-see-https-www-gatsbyjs","errorCode":null,"errorMessage":"This might be an error, see: https://www.gatsbyjs.com/docs/debugging-replace-renderer-api/","messagePattern":"This might be an error, see: https://www\\.gatsbyjs\\.com/docs/debugging-replace-renderer-api/","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/gatsby/src/bootstrap/load-plugins/validate.ts","lineNumber":519,"sourceCode":"    flattenedPlugins: flattenedPlugins as Array<IFlattenedPlugin>,\n    badExports,\n  }\n}\n\nexport const handleMultipleReplaceRenderers = ({\n  flattenedPlugins,\n}: {\n  flattenedPlugins: Array<IFlattenedPlugin>\n}): Array<IFlattenedPlugin> => {\n  // multiple replaceRenderers may cause problems at build time\n  const rendererPlugins = flattenedPlugins\n    .filter(plugin => plugin.ssrAPIs.includes(`replaceRenderer`))\n    .map(plugin => plugin.name)\n  if (rendererPlugins.length > 1) {\n    if (rendererPlugins.includes(`default-site-plugin`)) {\n      reporter.warn(`replaceRenderer API found in these plugins:`)\n      reporter.warn(rendererPlugins.join(`, `))\n      reporter.warn(\n        `This might be an error, see: https://www.gatsbyjs.com/docs/debugging-replace-renderer-api/`\n      )\n    } else {\n      console.log(``)\n      reporter.error(\n        `Gatsby's replaceRenderer API is implemented by multiple plugins:`\n      )\n      reporter.error(rendererPlugins.join(`, `))\n      reporter.error(`This will break your build`)\n      reporter.error(\n        `See: https://www.gatsbyjs.com/docs/debugging-replace-renderer-api/`\n      )\n      if (process.env.NODE_ENV === `production`) process.exit(1)\n    }\n\n    // Now update plugin list so only final replaceRenderer will run\n    const ignorable = rendererPlugins.slice(0, -1)\n","sourceCodeStart":501,"sourceCodeEnd":537,"githubUrl":"https://github.com/gatsbyjs/gatsby/blob/e85d62f1779e353eaac1753211629a26d123e26c/packages/gatsby/src/bootstrap/load-plugins/validate.ts#L501-L537","documentation":"Trailing hint of the warning emitted by handleMultipleReplaceRenderers when more than one plugin implements the replaceRenderer SSR API, which produces conflicting renderers at build time; the doc link explains how to identify which plugin to keep.","triggerScenarios":"Thrown at packages/gatsby/src/bootstrap/load-plugins/validate.ts:519 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Remove or disable all but one replaceRenderer implementation (usually keeping the default-site-plugin's)"],"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"}