{"record":{"id":"9016a643c6250d54","repo":"facebook/react","slug":"could-not-find-the-module-id-in-the-react-ser-9016a6","errorCode":null,"errorMessage":"Could not find the module \"${id}\" in the React Server Manifest. This is probably a bug in the React Server Components bundler.","messagePattern":"Could not find the module \"(.+?)\" in the React Server Manifest\\. This is probably a bug in the React Server Components bundler\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"critical","filePath":"packages/react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpack.js","lineNumber":136,"sourceCode":"  id: ServerReferenceId,\n): ClientReference<T> {\n  let name = '';\n  let resolvedModuleData = bundlerConfig[id];\n  if (resolvedModuleData) {\n    // The potentially aliased name.\n    name = resolvedModuleData.name;\n  } else {\n    // We didn't find this specific export name but we might have the * export\n    // which contains this name as well.\n    // TODO: It's unfortunate that we now have to parse this string. We should\n    // probably go back to encoding path and name separately on the client reference.\n    const idx = id.lastIndexOf('#');\n    if (idx !== -1) {\n      name = id.slice(idx + 1);\n      resolvedModuleData = bundlerConfig[id.slice(0, idx)];\n    }\n    if (!resolvedModuleData) {\n      throw new Error(\n        'Could not find the module \"' +\n          id +\n          '\" in the React Server Manifest. ' +\n          'This is probably a bug in the React Server Components bundler.',\n      );\n    }\n  }\n  if (resolvedModuleData.async) {\n    // If the module is marked as async in a Client Reference, we don't actually care.\n    // What matters is whether the consumer wants to unwrap it or not.\n    // For Server References, it is different because the consumer is completely internal\n    // to the bundler. So instead of passing it to each reference we can mark it in the\n    // manifest.\n    return [\n      resolvedModuleData.id,\n      resolvedModuleData.chunks,\n      name,\n      1 /* async */,","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpack.js#L118-L154","documentation":"On the consumer side, server references (Server Actions) are resolved by id in the server-references manifest: the runtime parses the '#name' suffix off the id and looks up the module. If neither the exact id nor the module entry exists, React throws this bundler-bug message — the payload references a server action the consuming bundle has no manifest entry for.","triggerScenarios":"An RSC payload or SSR output references a server action id (e.g. '4211/app/actions#doThing') that is absent from the client-side server-references manifest; adding or renaming a 'use server' function without rebuilding both bundles; the client.node/client.edge SSR runtime resolving an action reference during render.","commonSituations":"Client and server bundles deployed from different builds (partial deploys, CDN caching an old manifest); stale Next.js build cache; an actions file not processed by the server-actions compiler plugin; monorepo version drift of the RSC plugin.","solutions":["Clean rebuild and redeploy client and server from the exact same build","Ensure the action's file carries 'use server' and is processed by the RSC plugin in both compilations","Align framework and react-server-dom-webpack plugin versions across the repo","Verify caches (CDN, service worker, build cache) are not serving a stale manifest"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// Pre-flight: confirm the actions manifest contains every id you will reference.\nfunction hasServerRef(serverManifest, id) {\n  if (serverManifest[id]) return true;\n  const idx = id.lastIndexOf('#');\n  return idx !== -1 && Boolean(serverManifest[id.slice(0, idx)]);\n}","typeGuard":null,"tryCatchPattern":"try {\n  await doThing(); // 'use server' function\n} catch (e) {\n  if (String(e.message).includes('React Server Manifest')) {\n    // Deployed bundles are out of sync — surface a rebuild/redeploy instruction.\n    return {error: 'Client and server builds mismatch. Redeploy both from the same build.'};\n  }\n  throw e;\n}","preventionTips":["Deploy client and server bundles from the same build artifact, atomically","Invalidate CDN/service-worker caches for manifests when you release","Ensure every actions file carries 'use server' so the compiler emits manifest entries"],"tags":["react-server-components","server-actions","bundler-manifest","webpack","stale-build"],"backgroundTag":"rsc-manifest-mismatch","analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}