OpenBMB/ChatDev · error · RegistryError
Entry '{name}' is not a MemoryStoreRegistration
Error message
Entry '{name}' is not a MemoryStoreRegistration What it means
The registry entry loaded for the requested memory store name is not a MemoryStoreRegistration, meaning the registry holds a foreign or corrupted object under that name. create_memory hits this when dispatching a store type.
Source
Thrown at runtime/node/agent/memory/registry.py:49
name: str,
*,
config_cls: Type[Any],
factory: Callable[["MemoryStoreConfig"], "MemoryBase"],
summary: str | None = None,
) -> None:
if name in memory_store_registry.names():
raise RegistryError(f"Memory store '{name}' already registered")
entry = MemoryStoreRegistration(name=name, config_cls=config_cls, factory=factory, summary=summary)
memory_store_registry.register(name, target=entry)
register_memory_store_schema(name, config_cls=config_cls, summary=summary)
def get_memory_store_registration(name: str) -> MemoryStoreRegistration:
_ensure_builtins_loaded()
entry: RegistryEntry = memory_store_registry.get(name)
registration = entry.load()
if not isinstance(registration, MemoryStoreRegistration):
raise RegistryError(f"Entry '{name}' is not a MemoryStoreRegistration")
return registration
def iter_memory_store_registrations() -> Dict[str, MemoryStoreRegistration]:
_ensure_builtins_loaded()
return {name: entry.load() for name, entry in memory_store_registry.items()}
__all__ = [
"memory_store_registry",
"MemoryStoreRegistration",
"register_memory_store",
"get_memory_store_registration",
"iter_memory_store_registrations",
]
View on GitHub (pinned to 4fb2db0ea9)
Solutions
- Register only via register_memory_store
- Inspect memory_store_registry.get(name).load() to see the actual object
- Reinstall consistent package versions to collapse duplicate registration classes
Defensive patterns
Strategy: try-catch
Validate before calling
from runtime.node.agent.memory.registry import iter_memory_store_registrations assert 'mystore' in iter_memory_store_registrations()
Try / catch
try:
mem = create_memory(store_cfg)
except RegistryError as e:
logger.error('bad memory store registration: %s', e)
raise Prevention
- Register via register_memory_store only
- Avoid duplicate package installs
When it happens
Trigger: Something registered a raw object into memory_store_registry bypassing register_memory_store, then create_memory('name') loads and type-checks the entry.
Common situations: Plugins mutating the shared registry directly; version skew where MemoryStoreRegistration was redefined across package copies after a partial upgrade.
Related errors
- Entry '{name}' is not an EdgeConditionRegistration
- Entry '{name}' is not an EdgeProcessorRegistration
- BlackboardMemory requires a blackboard memory store configur
- FileMemory requires a file memory store configuration
- Mem0Memory requires a Mem0 memory store configuration
AI-assisted analysis of OpenBMB/ChatDev@4fb2db0ea9 (2026-08-27).
Data as JSON: /api/errors/7ad6cc7034d03b7c.
Report an issue: GitHub.