tinyhumansai/openhuman · error
memory_vector_search: load config failed: {e}
Error message
memory_vector_search: load config failed: {e} What it means
The vector search tool could not load the core TOML config via `config_rpc::load_config_with_timeout()` before querying memory. Every search needs config to resolve the workspace and memory settings, so a config load timeout or parse failure aborts the tool here. `{e}` carries the underlying config error (timeout, unreadable file, or invalid TOML).
Source
Thrown at src/openhuman/memory/tools/search/vector_search.rs:123
));
}
let limit = parsed.limit.clamp(1, 50);
let min_score = parsed.min_score.unwrap_or(0.3);
log::debug!(
"[tool][memory_vector_search] query_len={} source_kind={:?} window={:?} min_score={} limit={} diverse={}",
parsed.query.len(),
parsed.source_kind,
parsed.time_window_days,
min_score,
limit,
parsed.diverse,
);
let config = config_rpc::load_config_with_timeout()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: load config failed: {e}"))?;
// Chunks are read through the bound driver, not by opening the store
// in this process. Before the module port this called
// `list_chunks(&config, …)` directly, which resolved the workspace path
// and opened the same SQLite database the loaded module already had
// open — two engine instances over one file, with the module not
// authoritative. See `docs/specs/2026-08-13-memory-module-port.md` §2.1.
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("memory_vector_search: {e}"))?;
let chunk_reader = guard.as_chunks().ok_or_else(|| {
anyhow::anyhow!("memory_vector_search: memory driver does not support the chunk family")
})?;
let embedder = provider_from_config(&config)
.map_err(|e| anyhow::anyhow!("memory_vector_search: embedding provider failed: {e}"))?;
let query_vec = embedderView on GitHub (pinned to 7491200858)
Solutions
- Retry — the loader is timeout-bounded and transient contention can cause this
- Check that the workspace config.toml exists and parses
- Look at `{e}` to distinguish timeout from parse failure
- Verify the workspace/config paths the harness or shell passed at startup
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/search/vector_search.rs:123 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/4049ca0517eb217f.
Report an issue: GitHub.