tinyhumansai/openhuman · error

composio_list_connections (backend) failed: {e}

Error message

composio_list_connections (backend) failed: {e}

What it means

The backend-variant composio_list_connections agent tool failed after reloading the live config snapshot; the error is the Composio backend call's failure (not the config reload, which has its own message).

Source

Thrown at src/openhuman/integrations/composio/tools.rs:506

        // tool is scoped to the user/workspace it was created for.
        let live_config = match config_rpc::reload_config_snapshot_with_timeout(
            self.config.as_ref(),
        )
        .await
        {
            Ok(c) => c,
            Err(e) => {
                tracing::warn!(error = %e, "[composio] list_connections.execute: load_config failed");
                return Ok(ToolResult::error(format!(
                    "composio_list_connections: failed to load live config: {e}"
                )));
            }
        };
        let mut resp = match create_composio_client(&live_config) {
            Ok(ComposioClientKind::Backend(client)) => {
                tracing::debug!("[composio] list_connections.execute: backend variant");
                client.list_connections().await.map_err(|e| {
                    anyhow::anyhow!("composio_list_connections (backend) failed: {e}")
                })?
            }
            Ok(ComposioClientKind::Direct(direct)) => {
                tracing::debug!("[composio-direct] list_connections.execute: direct variant");
                direct_list_connections(&direct).await.map_err(|e| {
                    // [#1166 / Sentry TAURI-RUST-X9] Symmetric error
                    // routing with `ops.rs::composio_list_connections`.
                    // The agent-tool path can also fire 401s when a
                    // direct-mode user has a bad API key — without this
                    // hook the failure escapes the classifier and lands
                    // as an unclassified Sentry event. Render WITH the
                    // `[composio-direct]` anchor BEFORE reporting so the
                    // classifier arm in `is_provider_user_state_message`
                    // (gated on that prefix) actually fires.
                    let rendered = format!(
                        "[composio-direct] composio_list_connections (direct) failed: {e:#}"
                    );
                    super::ops::report_composio_op_error("list_connections", &rendered);

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry the tool call — backend list calls are usually transient failures
  2. Verify the backend session is still valid (re-sign-in if 401)
  3. Check the underlying {e} for slug/credential configuration problems
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/integrations/composio/tools.rs:506 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/5dc4a58e1837999e. Report an issue: GitHub.