tinyhumansai/openhuman · error · anyhow::Error
people_refresh_address_book: {e}
Error message
people_refresh_address_book: {e} What it means
The address-book refresh (macOS CNContactStore seeding via the contacts path) failed after the TCC permission prompt stage. The chained error usually indicates a denied Contacts permission or a store read failure.
Source
Thrown at src/openhuman/memory/tools/people.rs:384
seeding contacts and their handles. On macOS this may trigger a \
Contacts (TCC) permission prompt. Returns counts of seeded / skipped \
contacts. Only use when the user explicitly asks to import contacts."
}
fn parameters_schema(&self) -> serde_json::Value {
json!({ "type": "object", "properties": {} })
}
fn permission_level(&self) -> PermissionLevel {
PermissionLevel::Execute
}
async fn execute(&self, _args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][people] refresh_address_book invoked");
let guard = people_guard().await?;
let outcome = rpc::handle_refresh_address_book(guard.as_people().expect("checked"))
.await
.map_err(|e| anyhow::anyhow!("people_refresh_address_book: {e}"))?;
Ok(ToolResult::success(serde_json::to_string(&outcome.value)?))
}
}
#[cfg(test)]
mod tests {
use super::*;
use crate::openhuman::tools::traits::ToolScope;
#[test]
fn names_and_levels() {
assert_eq!(PeopleListTool.name(), "people_list");
assert_eq!(PeopleListTool.permission_level(), PermissionLevel::ReadOnly);
assert_eq!(PeopleResolveTool.permission_level(), PermissionLevel::Write);
assert_eq!(
PeopleRecordInteractionTool.permission_level(),
PermissionLevel::Write
);View on GitHub (pinned to 7491200858)
Solutions
- Grant Contacts access when macOS prompts (System Settings > Privacy)
- Retry after permission is granted
- Check the contacts feature is enabled on this platform
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at src/openhuman/memory/tools/people.rs:384 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/ea5a501903d2527b.
Report an issue: GitHub.