{"record":{"id":"2c8353bd1d546028","repo":"langchain-ai/langgraph","slug":"character-is-a-reserved-character-and-is-not-a","errorCode":null,"errorMessage":"'{character}' is a reserved character and is not allowed in the node names.","messagePattern":"'(.+?)' is a reserved character and is not allowed in the node names\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/graph/state.py","lineNumber":809,"sourceCode":"                \"not be reflected in the compiled graph.\"\n            )\n        if not isinstance(node, str):\n            action = node\n            node = cast(str, getattr(action, \"name\", getattr(action, \"__name__\", None)))\n            if node is None:\n                raise ValueError(\n                    \"Node name must be provided if action is not a function\"\n                )\n        if action is None:\n            raise RuntimeError\n        if node in self.nodes:\n            raise ValueError(f\"Node `{node}` already present.\")\n        if node == END or node == START:\n            raise ValueError(f\"Node `{node}` is reserved.\")\n\n        for character in (NS_SEP, NS_END):\n            if character in node:\n                raise ValueError(\n                    f\"'{character}' is a reserved character and is not allowed in the node names.\"\n                )\n\n        inferred_input_schema = None\n\n        ends: tuple[str, ...] | dict[str, str] = EMPTY_SEQ\n        try:\n            if (\n                isfunction(action)\n                or ismethod(action)\n                or ismethod(getattr(action, \"__call__\", None))\n            ) and (\n                hints := get_type_hints(getattr(action, \"__call__\"))\n                or get_type_hints(action)\n            ):\n                if input_schema is None:\n                    first_parameter_name = next(\n                        iter(","sourceCodeStart":791,"sourceCodeEnd":827,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/graph/state.py#L791-L827","documentation":"Error \"'{character}' is a reserved character and is not allowed in the node names.\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/langgraph/langgraph/graph/state.py:809 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":"38031739e551638e373fb553453256c23feeb41f","analyzedAt":"2026-08-26T18:02:49.312Z","schemaVersion":2},"datasetVersion":"2026-08-26T21:11:00.512Z"}