{"record":{"id":"62e263673cba13f1","repo":"facebook/react","slug":"could-not-find-the-module-metadata-id-in-the-62e263","errorCode":null,"errorMessage":"Could not find the module \"${metadata[ID]}\" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.","messagePattern":"Could not find the module \"(.+?)\" in the React Server Consumer 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":86,"sourceCode":"  prepareDestinationWithChunks(moduleLoading, metadata[CHUNKS], nonce);\n}\n\nexport function resolveClientReference<T>(\n  bundlerConfig: ServerConsumerModuleMap,\n  metadata: ClientReferenceMetadata,\n): ClientReference<T> {\n  if (bundlerConfig) {\n    const moduleExports = bundlerConfig[metadata[ID]];\n    let resolvedModuleData = moduleExports && moduleExports[metadata[NAME]];\n    let name;\n    if (resolvedModuleData) {\n      // The potentially aliased name.\n      name = resolvedModuleData.name;\n    } else {\n      // If we don't have this specific name, we might have the full module.\n      resolvedModuleData = moduleExports && moduleExports['*'];\n      if (!resolvedModuleData) {\n        throw new Error(\n          'Could not find the module \"' +\n            metadata[ID] +\n            '\" in the React Server Consumer Manifest. ' +\n            'This is probably a bug in the React Server Components bundler.',\n        );\n      }\n      name = metadata[NAME];\n    }\n    // Note that resolvedModuleData.async may be set if this is an Async Module.\n    // For Client References we don't actually care because what matters is whether\n    // the consumer expects an unwrapped async module or just a raw Promise so it\n    // has to already know which one it wants.\n    // We could error if this is an Async Import but it's not an Async Module.\n    // However, we also support plain CJS exporting a top level Promise which is not\n    // an Async Module according to the bundle graph but is effectively the same.\n    if (isAsyncImport(metadata)) {\n      return [\n        resolvedModuleData.id,","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-server-dom-webpack/src/client/ReactFlightClientConfigBundlerWebpack.js#L68-L104","documentation":"When the Flight client decodes an RSC payload, every client reference is resolved to a real module via the client manifest (the moduleMap/bundlerConfig passed to createFromReadableStream and friends). Here the module id was found, but neither the referenced export name nor the '*' whole-module fallback exists in that manifest entry, so React reports an RSC bundler bug: the server payload and the client manifest disagree.","triggerScenarios":"The payload contains 'moduleId#exportName' where the manifest has that module but no such export name and no '*'; the export was renamed or deleted between the server and client builds; tree-shaking removed the export from the client bundle; createFromReadableStream was given a stale or wrong moduleMap in a custom integration.","commonSituations":"Stale .next/dist/cache after renaming an export of a client component; server and client bundles built with different versions of the react-server-dom-webpack plugin; custom RSC setups wiring the wrong manifest into the stream options; deployed client manifest out of sync with the server bundle.","solutions":["Delete all build artifacts and caches (rm -rf .next dist .turbo) and rebuild server and client together in one run","Verify the export named in the error still exists in the client module and is not tree-shaken (check sideEffects and exports fields in package.json)","Align versions of react, react-server-dom-webpack, and the RSC bundler plugin on both sides so manifest formats match","In custom integrations, pass the manifest generated by the same build run as the client bundle (options.moduleMap)"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// Pre-flight for custom integrations: confirm every expected client ref resolves.\nfunction manifestHas(bundlerConfig, id, name) {\n  const m = bundlerConfig[id];\n  return Boolean(m && (m[name] || m['*']));\n}\n// if (!manifestHas(moduleMap, '4211/charts', 'Chart')) fail the build instead of crashing at runtime","typeGuard":null,"tryCatchPattern":"try {\n  const root = await createFromReadableStream(stream, {moduleMap});\n} catch (e) {\n  if (String(e.message).includes('React Server Consumer Manifest')) {\n    // Build-poisoning mismatch: no runtime recovery — 500 and force a clean rebuild.\n    return new Response('Server/client manifest mismatch — rebuild required', {status: 500});\n  }\n  throw e;\n}","preventionTips":["Always clean-build server and client together so manifests are generated from one compilation","Pin identical react/react-server-dom-webpack/plugin versions across the repo","Add a CI step that diffs the client manifest against the server build artifacts before deploy"],"tags":["react-server-components","bundler-manifest","webpack","client-manifest","stale-build"],"backgroundTag":"rsc-manifest-mismatch","analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}