diff --git a/langgraph/checkpoint/redis/base.py b/langgraph/checkpoint/redis/base.py index 022dcec..f32c1d8 100644 --- a/langgraph/checkpoint/redis/base.py +++ b/langgraph/checkpoint/redis/base.py @@ -417,10 +417,11 @@ def _recursive_deserialize(self, obj: Any) -> Any: if obj.get("lc") in (1, 2) and obj.get("type") == "constructor": try: # Use the serde's reviver to reconstruct the object - if hasattr(self.serde, "_reviver"): - return self.serde._reviver(obj) - elif hasattr(self.serde, "_revive_if_needed"): + + if hasattr(self.serde, "_revive_if_needed"): return self.serde._revive_if_needed(obj) + elif hasattr(self.serde, "_reviver"): + return self.serde._reviver(obj) else: # Log warning if serde doesn't have reviver logger.warning(