tinyhumansai/openhuman · error · anyhow::Error
people unavailable: {e}
Error message
people unavailable: {e} What it means
Shared guard helper for the people agent tools: people_guard() acquires the active memory guard and checks it serves the people family; any failure (no active memory guard, driver not bound, or family unsupported) is re-wrapped as `people unavailable: {e}`. Fires on every people_* tool call when the memory driver lacks people capability, before any operation runs.
Source
Thrown at src/openhuman/memory/tools/people.rs:31
use async_trait::async_trait;
use chrono::Utc;
use serde_json::json;
use crate::openhuman::memory::api::provider::{MemoryProvider, PersonHandle, PersonInteraction};
use crate::openhuman::memory::guard::MemoryGuard;
use crate::openhuman::memory::ops::guard::active_memory_guard;
use crate::openhuman::memory::people::rpc;
use crate::openhuman::tools::traits::{PermissionLevel, Tool, ToolResult};
/// The guarded driver for this call, checked to serve the people family.
///
/// Returns the guard rather than the family handle because the accessor
/// borrows from it.
async fn people_guard() -> anyhow::Result<std::sync::Arc<MemoryGuard>> {
let guard = active_memory_guard()
.await
.map_err(|e| anyhow::anyhow!("people unavailable: {e}"))?;
if guard.as_people().is_none() {
return Err(anyhow::anyhow!(
"people unavailable: memory driver does not support the people family"
));
}
Ok(guard)
}
fn read_required_str(args: &serde_json::Value, key: &str) -> anyhow::Result<String> {
args.get(key)
.and_then(serde_json::Value::as_str)
.map(str::trim)
.filter(|s| !s.is_empty())
.map(str::to_string)
.ok_or_else(|| anyhow::anyhow!("missing required string argument `{key}`"))
}
/// Read `person_id` as the opaque token the contract defines it to be.View on GitHub (pinned to 7491200858)
Solutions
- Retry after the memory subsystem binds its driver
- Check the chained binding error in logs
- Confirm a people-capable memory backend is configured
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/people.rs:31 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/07627ea10244d603.
Report an issue: GitHub.