{"record":{"id":"6536e31d552d9d93","repo":"langchain-ai/langgraph","slug":"channel-key-already-exists-with-a-different-ty","errorCode":null,"errorMessage":"Channel '{key}' already exists with a different type","messagePattern":"Channel '(.+?)' already exists with a different type","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/graph/state.py","lineNumber":361,"sourceCode":"    def _add_schema(self, schema: type[Any], /, allow_managed: bool = True) -> None:\n        if schema not in self.schemas:\n            _warn_invalid_state_schema(schema)\n            channels, managed, type_hints = _get_channels(schema)\n            if managed and not allow_managed:\n                names = \", \".join(managed)\n                schema_name = getattr(schema, \"__name__\", \"\")\n                raise ValueError(\n                    f\"Invalid managed channels detected in {schema_name}: {names}.\"\n                    \" Managed channels are not permitted in Input/Output schema.\"\n                )\n            self.schemas[schema] = {**channels, **managed}\n            for key, channel in channels.items():\n                if key in self.channels:\n                    if self.channels[key] != channel:\n                        if isinstance(channel, LastValue):\n                            pass\n                        else:\n                            raise ValueError(\n                                f\"Channel '{key}' already exists with a different type\"\n                            )\n                else:\n                    self.channels[key] = channel\n            for key, managed in managed.items():\n                if key in self.managed:\n                    if self.managed[key] != managed:\n                        raise ValueError(\n                            f\"Managed value '{key}' already exists with a different type\"\n                        )\n                else:\n                    self.managed[key] = managed\n\n    @overload\n    def add_node(\n        self,\n        node: StateNode[NodeInputT, ContextT],\n        *,","sourceCodeStart":343,"sourceCodeEnd":379,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/graph/state.py#L343-L379","documentation":"Error \"Channel '{key}' already exists with a different type\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/langgraph/langgraph/graph/state.py:361 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"}