{"record":{"id":"af6c53079547cd0c","repo":"ueberdosis/tiptap","slug":"node-extension-name-cannot-be-rendered-it-is-m","errorCode":null,"errorMessage":"Node ${extension.name} cannot be rendered, it is missing a \"renderToHTML\" method","messagePattern":"Node (.+?) cannot be rendered, it is missing a \"renderToHTML\" method","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/static-renderer/src/pm/extensionRenderer.ts","lineNumber":156,"sourceCode":"  options?: Partial<Pick<TiptapStaticRendererOptions<T, Mark, PMNode>, 'unhandledMark'>>,\n): [string, (props: MarkProps<Mark, T | T[]>) => T] {\n  const context = {\n    name: extension.name,\n    options: extension.options,\n    storage: extension.storage,\n    parent: extension.parent,\n  }\n\n  const renderToHTML = getExtensionField<MarkConfig['renderHTML']>(extension, 'renderHTML', context)\n\n  if (!renderToHTML) {\n    if (options?.unhandledMark) {\n      return [extension.name, options.unhandledMark]\n    }\n    return [\n      extension.name,\n      () => {\n        throw new Error(\n          `Node ${extension.name} cannot be rendered, it is missing a \"renderToHTML\" method`,\n        )\n      },\n    ]\n  }\n\n  return [\n    extension.name,\n    ({ mark, children }) => {\n      try {\n        return domOutputSpecToElement(\n          renderToHTML({\n            mark,\n            HTMLAttributes: getHTMLAttributes(mark, extensionAttributes),\n          }),\n        )(children)\n      } catch (e) {\n        throw new Error(","sourceCodeStart":138,"sourceCodeEnd":174,"githubUrl":"https://github.com/ueberdosis/tiptap/blob/496d53afd7e4e3c7424b4749adeff4f45e27ddb0/packages/static-renderer/src/pm/extensionRenderer.ts#L138-L174","documentation":"Error \"Node ${extension.name} cannot be rendered, it is missing a \"renderToHTML\" method\" thrown in ueberdosis/tiptap.","triggerScenarios":"Thrown at packages/static-renderer/src/pm/extensionRenderer.ts:156 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"496d53afd7e4e3c7424b4749adeff4f45e27ddb0","analyzedAt":"2026-08-26T22:41:43.400Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}