tinyhumansai/openhuman · error
memory_tools_list: {NO_TOOL_MEMORY}
Error message
memory_tools_list: {NO_TOOL_MEMORY} What it means
The memory guard was acquired but the tool-memory capability family is unavailable (`NO_TOOL_MEMORY`). This sentinel means the bound driver — typically the null/fallback provider when no memory module is loaded — does not implement tool-rule storage, so listing pinned rules for a tool is structurally impossible in this configuration rather than transiently failing.
Source
Thrown at src/openhuman/memory/tools/tool_memory/list.rs:63
"properties": {
"tool_name": {
"type": "string",
"description": "Exact tool name (e.g. `bash`, `web_search`)."
}
}
})
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
let parsed: Args = serde_json::from_value(args)
.map_err(|e| anyhow::anyhow!("invalid arguments for memory_tools_list: {e}"))?;
log::debug!("[tool][memory_tools] list tool_name={}", parsed.tool_name);
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_tools_list: {e}"))?;
let rules = guard
.as_tool_memory()
.ok_or_else(|| anyhow::anyhow!("memory_tools_list: {NO_TOOL_MEMORY}"))?
.tool_rules(&parsed.tool_name)
.await
.map_err(|e| anyhow::anyhow!("memory_tools_list: {e}"))?;
log::debug!(
"[tool][memory_tools] list via guard tool_name={} rules={}",
parsed.tool_name,
rules.len()
);
let json = serde_json::to_string(&rules)?;
Ok(ToolResult::success(json))
}
}
#[cfg(test)]
mod tests {
use super::*;
use std::ffi::OsString;
View on GitHub (pinned to 7491200858)
Solutions
- Verify the memory module is loaded and provides the tool_memory family
- Check memory driver binding status
- Treat as a capability gap: skip tool-rule features when running without the memory module
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/memory/tools/tool_memory/list.rs:63 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/ef92589916a19470.
Report an issue: GitHub.