checkpoint_persistenceTier 1 · 70% confidence

ai-agents-checkpoint-persisten-using-asyncpostgressaver-2-0-23-to-list-checkpoint-da81ea8c

agent: ai_agents

When does this happen?

IF Using AsyncPostgresSaver 2.0.23 to list checkpoints fails with TypeError: 'NoneType' object is not a mapping when the checkpoint's channel_values is None.

How others solved it

THEN Modify the '_load_checkpoint_tuple' method in 'aio.py' to treat None channel_values as an empty dictionary. Replace `**value["checkpoint"].get("channel_values")` with `**(value["checkpoint"].get("channel_values") or {})`. This preserves backward compatibility with checkpoints created in earlier versions (e.g., 2.0.21).

# Fix in AsyncPostgresSaver._load_checkpoint_tuple
checkpoint_channel_values = value["checkpoint"].get("channel_values") or {}
# Then use in dict construction:
"channel_values": {
    **checkpoint_channel_values,
    **self._load_blobs(value["channel_values"]),
}

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics