# BaseCheckpointSaver

> **Class** in `langgraph.checkpoint`

📖 [View in docs](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver)

Base class for creating a graph checkpointer.

Checkpointers allow LangGraph agents to persist their state
within and across multiple interactions.

When a checkpointer is configured, you should pass a `thread_id` in the config when
invoking the graph:

```python
config = {"configurable": {"thread_id": "my-thread"}}
graph.invoke(inputs, config)
```

The `thread_id` is the primary key used to store and retrieve checkpoints. Without
it, the checkpointer cannot save state, resume from interrupts, or enable
time-travel debugging.

How you choose ``thread_id`` depends on your use case:

- **Single-shot workflows**: Use a unique ID (e.g., uuid4) for each run when
    executions are independent.
- **Conversational memory**: Reuse the same `thread_id` across invocations
    to accumulate state (e.g., chat history) within a conversation.

## Signature

```python
BaseCheckpointSaver(
    self,
    *,
    serde: SerializerProtocol | None = None,
)
```

## Description

**Note:**

When creating a custom checkpoint saver, consider implementing async
versions to avoid blocking the main thread.

## Extends

- `Generic[V]`

## Constructors

```python
__init__(
    self,
    *,
    serde: SerializerProtocol | None = None,
) -> None
```

| Name | Type |
|------|------|
| `serde` | `SerializerProtocol \| None` |


## Properties

- `serde`
- `config_specs`

## Methods

- [`get()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/get)
- [`get_tuple()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/get_tuple)
- [`list()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/list)
- [`put()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/put)
- [`put_writes()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/put_writes)
- [`delete_thread()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/delete_thread)
- [`delete_for_runs()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/delete_for_runs)
- [`copy_thread()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/copy_thread)
- [`prune()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/prune)
- [`aget()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aget)
- [`aget_tuple()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aget_tuple)
- [`alist()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/alist)
- [`aput()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aput)
- [`aput_writes()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aput_writes)
- [`adelete_thread()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/adelete_thread)
- [`adelete_for_runs()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/adelete_for_runs)
- [`acopy_thread()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/acopy_thread)
- [`aprune()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aprune)
- [`get_delta_channel_history()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/get_delta_channel_history)
- [`aget_delta_channel_history()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aget_delta_channel_history)
- [`get_delta_channel_keepset()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/get_delta_channel_keepset)
- [`aget_delta_channel_keepset()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/aget_delta_channel_keepset)
- [`get_next_version()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/get_next_version)
- [`with_allowlist()`](https://reference.langchain.com/python/langgraph.checkpoint/base/BaseCheckpointSaver/with_allowlist)

---

[View source on GitHub](https://github.com/langchain-ai/langgraph/blob/398d6cc59d4cf81ab23c09f037e9f521c3fedcd6/libs/checkpoint/langgraph/checkpoint/base/__init__.py#L167)