tinyhumansai/openhuman · error · anyhow::Error
people_add_alias: {e}
Error message
people_add_alias: {e} What it means
Error-surfacing wrapper in the people_add_alias tool's execute: the add_handle_alias driver call failed after arguments parsed and the guard was acquired. The alias was not added; typical causes are an unknown person_id or a driver-level rejection. It is a re-wrap, so the underlying driver error follows the prefix.
Source
Thrown at src/openhuman/memory/tools/people.rs:286
"required": ["person_id", "kind", "value"]
})
}
fn permission_level(&self) -> PermissionLevel {
PermissionLevel::Write
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][people] add_alias invoked");
let person_id = parse_person_id(&args)?;
let handle = parse_handle(&args)?;
let guard = people_guard().await?;
guard
.as_people()
.expect("checked")
.add_handle_alias(&person_id, &handle)
.await
.map_err(|e| anyhow::anyhow!("people_add_alias: {e}"))?;
Ok(ToolResult::success(serde_json::to_string(
&json!({ "ok": true }),
)?))
}
}
/// Record an interaction (append-only, feeds scoring).
pub struct PeopleRecordInteractionTool;
#[async_trait]
impl Tool for PeopleRecordInteractionTool {
fn name(&self) -> &str {
"people_record_interaction"
}
fn description(&self) -> &str {
"Log an interaction with a `person_id` to feed the closeness score. \
`is_outbound` marks who initiated; `length` is a depth proxy (e.g. \View on GitHub (pinned to 7491200858)
Solutions
- Check for duplicate handle aliases in the chained error
- Retry transient store failures
- Verify the person exists before adding an alias
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/people.rs:286 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/8cb9bd5e4d607187.
Report an issue: GitHub.