diff --git a/libs/langgraph/langgraph/pregel/__init__.py b/libs/langgraph/langgraph/pregel/__init__.py index d69fbc75f..5ff3c69b8 100644 --- a/libs/langgraph/langgraph/pregel/__init__.py +++ b/libs/langgraph/langgraph/pregel/__init__.py @@ -515,6 +515,8 @@ class Pregel(PregelProtocol): for tid, k, v in saved.pending_writes: if k in (ERROR, INTERRUPT, SCHEDULED): continue + if tid not in next_tasks: + continue next_tasks[tid].writes.append((k, v)) if tasks := [t for t in next_tasks.values() if t.writes]: apply_writes(saved.checkpoint, channels, tasks, None) @@ -615,6 +617,8 @@ class Pregel(PregelProtocol): for tid, k, v in saved.pending_writes: if k in (ERROR, INTERRUPT, SCHEDULED): continue + if tid not in next_tasks: + continue next_tasks[tid].writes.append((k, v)) if tasks := [t for t in next_tasks.values() if t.writes]: apply_writes(saved.checkpoint, channels, tasks, None) @@ -891,6 +895,8 @@ class Pregel(PregelProtocol): for tid, k, v in saved.pending_writes: if k in (ERROR, INTERRUPT, SCHEDULED): continue + if tid not in next_tasks: + continue next_tasks[tid].writes.append((k, v)) if tasks := [t for t in next_tasks.values() if t.writes]: apply_writes(checkpoint, channels, tasks, None) @@ -1073,6 +1079,8 @@ class Pregel(PregelProtocol): for tid, k, v in saved.pending_writes: if k in (ERROR, INTERRUPT, SCHEDULED): continue + if tid not in next_tasks: + continue next_tasks[tid].writes.append((k, v)) if tasks := [t for t in next_tasks.values() if t.writes]: apply_writes(checkpoint, channels, tasks, None)