{"record":{"id":"0cc00075f141d14b","repo":"facebook/react","slug":"156-0cc000","errorCode":"156","errorMessage":"Unknown unit of work tag (${workInProgress.tag}). This error is likely caused by a bug in React. Please file an issue.","messagePattern":"Unknown unit of work tag \\((.+?)\\)\\. This error is likely caused by a bug in React\\. Please file an issue\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/react-reconciler/src/ReactFiberCompleteWork.js","lineNumber":2108,"sourceCode":"          ) {\n            workInProgress.flags |= ViewTransitionStaticParent;\n          } else {\n            workInProgress.flags &= ~ViewTransitionStaticParent;\n          }\n        }\n        bubbleProperties(workInProgress);\n      }\n      return null;\n    }\n    case Throw: {\n      if (!disableLegacyMode) {\n        // Only Legacy Mode completes an errored node.\n        return null;\n      }\n    }\n  }\n\n  throw new Error(\n    `Unknown unit of work tag (${workInProgress.tag}). This error is likely caused by a bug in ` +\n      'React. Please file an issue.',\n  );\n}\n\nexport {completeWork};\n","sourceCodeStart":2090,"sourceCodeEnd":2115,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-reconciler/src/ReactFiberCompleteWork.js#L2090-L2115","documentation":"completeWork dispatches on workInProgress.tag via a switch over every known fiber tag; if the tag matches none of the cases (the Throw case only returns in legacy mode), this error is thrown. It signals a fiber whose tag is unknown or corrupted — an internal React contract violation.","triggerScenarios":"A fiber reaches completeWork with a tag value outside the known set: memory/state corruption, a fiber created by a different (mismatched) react-reconciler version, or an internal regression introducing a tag this build doesn't handle.","commonSituations":"Multiple copies or mismatched versions of react / react-reconciler / renderer in one bundle; forks or custom renderers built against a different reconciler; rare regressions on canary channels.","solutions":["Dedupe and align React packages: `npm ls react react-dom react-reconciler` and pin a single version.","Upgrade (or pin, if a canary regression) to a version where the tag set is consistent across packages.","If versions are clean, file an issue with the numeric tag value and stack trace."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// Fail fast at boot on duplicated React copies before any render\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nif (React.version !== ReactDOM.version) {\n  throw new Error(`react ${React.version} vs react-dom ${ReactDOM.version}`);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Dedupe react/react-reconciler in the lockfile (single resolved version)","Bundler config: alias 'react' and 'react-dom' to one copy each","Avoid deep-linking into react-reconciler internals from app code"],"tags":["react-internal","invariant","version-mismatch","fiber"],"backgroundTag":"react-internal-invariant","analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}