tinyhumansai/openhuman · error

call_memory_agent: agent registry not initialised

Error message

call_memory_agent: agent registry not initialised

What it means

AgentDefinitionRegistry::global() returned None when call_memory_agent tried to resolve its memory sub-agent — the process-global registry was never initialized in this process. The turn has a parent context, but the harness booted without registering agent definitions.

Source

Thrown at src/openhuman/memory/agent/tools.rs:133

        let max_turns = args
            .get("max_turns")
            .and_then(|v| v.as_u64())
            .map(|v| v.clamp(1, 20) as usize);

        let is_async = args.get("async").and_then(|v| v.as_bool()).unwrap_or(false);

        let parent = current_parent();
        if parent.is_none() {
            return Ok(ToolResult::error(
                "call_memory_agent: no parent agent context — this tool must be \
                 called from within an agent turn."
                    .to_string(),
            ));
        }

        let registry = AgentDefinitionRegistry::global()
            .ok_or_else(|| anyhow::anyhow!("call_memory_agent: agent registry not initialised"))?;

        let definition = registry
            .list()
            .iter()
            .find(|d| d.id == AGENT_ID)
            .cloned()
            .ok_or_else(|| {
                anyhow::anyhow!(
                    "call_memory_agent: agent definition '{AGENT_ID}' not found in registry"
                )
            })?;

        let parent = parent.expect("checked above");
        if !parent.allowed_subagent_ids.contains(AGENT_ID) {
            log::warn!(
                "[call_memory_agent] blocked memory subagent outside parent allowlist parent_agent={} requested_agent={} allowed={:?}",
                parent.agent_definition_id,
                AGENT_ID,

View on GitHub (pinned to 7491200858)

Solutions

  1. Ensure the host initializes the global agent registry during boot before dispatching agent turns
  2. Retry after startup completes — the registry is populated during harness init
  3. Check for a slim build/configuration that skips agent registry initialization
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/memory/agent/tools.rs:133 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/fc94738f11770073. Report an issue: GitHub.