{"record":{"id":"e32d59dc9c8eb4ab","repo":"langchain-ai/langgraph","slug":"invalid-checkpointer-provided-expected-an-instanc","errorCode":null,"errorMessage":"Invalid checkpointer provided. Expected an instance of `BaseCheckpointSaver`, `True`, `False`, or `None`. Received {type}. Pass a proper saver (e.g., InMemorySaver, AsyncPostgresSaver).","messagePattern":"Invalid checkpointer provided\\. Expected an instance of `BaseCheckpointSaver`, `True`, `False`, or `None`\\. Received (.+?)\\. Pass a proper saver \\(e\\.g\\., InMemorySaver, AsyncPostgresSaver\\)\\.","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"libs/langgraph/langgraph/types.py","lineNumber":113,"sourceCode":"\"\"\"\n\nAll = Literal[\"*\"]\n\"\"\"Special value to indicate that graph should interrupt on all nodes.\"\"\"\n\nCheckpointer = None | bool | BaseCheckpointSaver\n\"\"\"Type of the checkpointer to use for a subgraph.\n\n- `True` enables persistent checkpointing for this subgraph.\n- `False` disables checkpointing, even if the parent graph has a checkpointer.\n- `None` inherits checkpointer from the parent graph.\n\"\"\"\n\n\ndef ensure_valid_checkpointer(checkpointer: Checkpointer) -> Checkpointer:\n    if checkpointer not in (None, True, False) and not isinstance(\n        checkpointer, BaseCheckpointSaver\n    ):\n        raise TypeError(\n            \"Invalid checkpointer provided. Expected an instance of \"\n            \"`BaseCheckpointSaver`, `True`, `False`, or `None`. \"\n            f\"Received {type(checkpointer).__name__!s}. \"\n            \"Pass a proper saver (e.g., InMemorySaver, AsyncPostgresSaver).\"\n        )\n    return checkpointer\n\n\nStreamMode = Literal[\n    \"values\", \"updates\", \"checkpoints\", \"tasks\", \"debug\", \"messages\", \"custom\"\n]\n\"\"\"How the stream method should emit outputs.\n\n- `\"values\"`: Emit all values in the state after each step, including interrupts.\n    When used with functional API, values are emitted once at the end of the workflow.\n- `\"updates\"`: Emit only the node or task names and updates returned by the nodes or tasks after each step.\n    If multiple updates are made in the same step (e.g. multiple nodes are run) then those updates are emitted separately.\n- `\"custom\"`: Emit custom data using from inside nodes or tasks using `StreamWriter`.","sourceCodeStart":95,"sourceCodeEnd":131,"githubUrl":"https://github.com/langchain-ai/langgraph/blob/38031739e551638e373fb553453256c23feeb41f/libs/langgraph/langgraph/types.py#L95-L131","documentation":"Error \"Invalid checkpointer provided. Expected an instance of `BaseCheckpointSaver`, `True`, `False`, or `None`. Received {type}. Pass a proper saver (e.g., InMemorySaver, AsyncPostgresSaver).\" thrown in langchain-ai/langgraph.","triggerScenarios":"Thrown at libs/langgraph/langgraph/types.py:113 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"}