{"record":{"id":"5dc4a58e1837999e","repo":"tinyhumansai/openhuman","slug":"composio-list-connections-backend-failed-e","errorCode":null,"errorMessage":"composio_list_connections (backend) failed: {e}","messagePattern":"composio_list_connections \\(backend\\) failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/integrations/composio/tools.rs","lineNumber":506,"sourceCode":"        // tool is scoped to the user/workspace it was created for.\n        let live_config = match config_rpc::reload_config_snapshot_with_timeout(\n            self.config.as_ref(),\n        )\n        .await\n        {\n            Ok(c) => c,\n            Err(e) => {\n                tracing::warn!(error = %e, \"[composio] list_connections.execute: load_config failed\");\n                return Ok(ToolResult::error(format!(\n                    \"composio_list_connections: failed to load live config: {e}\"\n                )));\n            }\n        };\n        let mut resp = match create_composio_client(&live_config) {\n            Ok(ComposioClientKind::Backend(client)) => {\n                tracing::debug!(\"[composio] list_connections.execute: backend variant\");\n                client.list_connections().await.map_err(|e| {\n                    anyhow::anyhow!(\"composio_list_connections (backend) failed: {e}\")\n                })?\n            }\n            Ok(ComposioClientKind::Direct(direct)) => {\n                tracing::debug!(\"[composio-direct] list_connections.execute: direct variant\");\n                direct_list_connections(&direct).await.map_err(|e| {\n                    // [#1166 / Sentry TAURI-RUST-X9] Symmetric error\n                    // routing with `ops.rs::composio_list_connections`.\n                    // The agent-tool path can also fire 401s when a\n                    // direct-mode user has a bad API key — without this\n                    // hook the failure escapes the classifier and lands\n                    // as an unclassified Sentry event. Render WITH the\n                    // `[composio-direct]` anchor BEFORE reporting so the\n                    // classifier arm in `is_provider_user_state_message`\n                    // (gated on that prefix) actually fires.\n                    let rendered = format!(\n                        \"[composio-direct] composio_list_connections (direct) failed: {e:#}\"\n                    );\n                    super::ops::report_composio_op_error(\"list_connections\", &rendered);","sourceCodeStart":488,"sourceCodeEnd":524,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/integrations/composio/tools.rs#L488-L524","documentation":"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).","triggerScenarios":"Thrown at src/openhuman/integrations/composio/tools.rs:506 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the tool call — backend list calls are usually transient failures","Verify the backend session is still valid (re-sign-in if 401)","Check the underlying {e} for slug/credential configuration problems"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}