tinyhumansai/openhuman · error · anyhow::Error

lookup session: {e}

Error message

lookup session: {e}

What it means

The orchestration messaging tool failed to look up the session for the target peer during its guardrail checks (linked peer / accepted contact / existing session). The lookup error — not a guardrail rejection — is wrapped; the tool refuses to proceed because it cannot establish that cold-DMing is permitted.

Source

Thrown at src/openhuman/hosted/orchestration/tools.rs:495

            .and_then(Value::as_str)
            .map(str::trim)
            .filter(|s| !s.is_empty() && !is_pinned_window(s))
            .map(str::to_string);

        let workspace = self.config.workspace_dir.clone();

        // Guardrail: locally linked peer, accepted tiny.place contact, OR an
        // existing session with them. Never cold-DM an arbitrary new address
        // from this un-gated background origin. The live contact check matters
        // after login changes the workspace: the relay contact remains accepted
        // while the workspace-local orchestration pairing/session stores start
        // empty.
        let linked =
            crate::openhuman::agent::orchestration::pairing::linked_agent_ids(&workspace).await;
        let known_session = store::with_connection(&workspace, |conn| {
            store::latest_session_for_agent(conn, &recipient)
        })
        .map_err(|e| anyhow::anyhow!("lookup session: {e}"))?;
        let accepted_contact = if linked.contains(&recipient) || known_session.is_some() {
            false
        } else {
            match crate::openhuman::agent::orchestration::pairing::is_accepted_contact(&recipient)
                .await
            {
                Ok(accepted) => accepted,
                Err(e) => {
                    log::warn!(
                        target: "orchestration",
                        "[orchestration] tool.send_to_agent contact check failed: {e}"
                    );
                    false
                }
            }
        };
        if !recipient_may_receive_message(
            linked.contains(&recipient),

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect the wrapped session-store error
  2. Verify the peer's session data is readable in the current workspace
  3. Retry after session state recovers
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/openhuman/hosted/orchestration/tools.rs:495 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/7b9502fb8df64625. Report an issue: GitHub.