diff --git a/lib/crewai/src/crewai/memory/memory_scope.py b/lib/crewai/src/crewai/memory/memory_scope.py index 6f4eb07e3..6c252f9f2 100644 --- a/lib/crewai/src/crewai/memory/memory_scope.py +++ b/lib/crewai/src/crewai/memory/memory_scope.py @@ -30,6 +30,8 @@ class MemoryScope(BaseModel): @classmethod def _accept_memory(cls, data: Any, handler: Any) -> MemoryScope: """Extract memory dependency and normalize root path before validation.""" + if isinstance(data, MemoryScope): + return data memory = data.pop("memory") instance: MemoryScope = handler(data) instance._memory = memory @@ -171,6 +173,8 @@ class MemorySlice(BaseModel): @classmethod def _accept_memory(cls, data: Any, handler: Any) -> MemorySlice: """Extract memory dependency and normalize scopes before validation.""" + if isinstance(data, MemorySlice): + return data memory = data.pop("memory") data["scopes"] = [s.rstrip("/") or "/" for s in data.get("scopes", [])] instance: MemorySlice = handler(data)