{"record":{"id":"07f18dd6b2791b98","repo":"langchain-ai/langgraph","slug":"node-n-not-in-nodes","errorCode":null,"errorMessage":"Node {n} not in nodes","messagePattern":"Node (.+?) not in nodes","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/pregel/_validate.py","lineNumber":103,"sourceCode":"        all_output_channels.add(output_channels)\n    else:\n        all_output_channels.update(output_channels)\n    if isinstance(stream_channels, str):\n        all_output_channels.add(stream_channels)\n    elif stream_channels is not None:\n        all_output_channels.update(stream_channels)\n\n    for chan in all_output_channels:\n        if chan not in channels:\n            raise ValueError(\n                f\"Output channel '{chan}' not \"\n                f\"in known channels: '{repr(sorted(channels))[:100]}'\"\n            )\n\n    if interrupt_after_nodes != \"*\":\n        for n in interrupt_after_nodes:\n            if n not in nodes:\n                raise ValueError(f\"Node {n} not in nodes\")\n    if interrupt_before_nodes != \"*\":\n        for n in interrupt_before_nodes:\n            if n not in nodes:\n                raise ValueError(f\"Node {n} not in nodes\")\n\n\ndef validate_keys(\n    keys: str | Sequence[str] | None,\n    channels: Mapping[str, Any],\n) -> None:\n    if isinstance(keys, str):\n        if keys not in channels:\n            raise ValueError(f\"Key {keys} not in channels\")\n    elif keys is not None:\n        for chan in keys:\n            if chan not in channels:\n                raise ValueError(f\"Key {chan} not in channels\")\n","sourceCodeStart":85,"sourceCodeEnd":121,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/pregel/_validate.py#L85-L121","documentation":"Graph-construction validation in pregel: a node listed in interrupt_after (or interrupt_before) is not among the graph's declared nodes. Interrupt configuration must reference existing node names; a typo or stale name triggers this error at compile time. Fix the node name in the interrupt list.","triggerScenarios":"Thrown at libs/langgraph/langgraph/pregel/_validate.py:103 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use only registered node names in interrupt_after","Remove stale node names left over from refactoring","Pass '*' to interrupt on all nodes"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","contentChangedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}