tinyhumansai/openhuman · error
No redirect URL in Composio v2 response
Error message
No redirect URL in Composio v2 response
What it means
The Composio v2 connect call succeeded (2xx, JSON decoded) but no redirect URL could be extracted from the response — the v2 endpoint returned an unexpected body shape. This is the last resort after v3 also failed.
Source
Thrown at src/openhuman/integrations/composio/tools/direct.rs:611
let resp = self
.client()
.post(&url)
.header("x-api-key", &self.api_key)
.json(&body)
.send()
.await?;
if !resp.status().is_success() {
let err = response_error(resp).await;
anyhow::bail!("Composio v2 connect failed: {err}");
}
let result: serde_json::Value = resp
.json()
.await
.context("Failed to decode Composio v2 connect response")?;
extract_redirect_url(&result)
.ok_or_else(|| anyhow::anyhow!("No redirect URL in Composio v2 response"))
}
/// List the user's connected accounts on Composio v3.
///
/// GET `https://backend.composio.dev/api/v3/connected_accounts` with
/// `x-api-key: <user_key>`. Returns the raw item list; reshaping
/// into [`super::super::super::composio::types::ComposioConnection`]
/// happens at the call site in `composio/client.rs::direct_list_connections`.
///
/// The v3 envelope is `{ items: [{ id, status, toolkit, created_at, ... }] }`.
/// Toolkit may arrive as either a plain string slug or as a nested
/// object — we tolerate both via [`ComposioConnectedAccount::toolkit_slug`].
/// This matches the same upstream shape drift handled by
/// `de_string_or_object` in `composio/types.rs`.
pub async fn list_connected_accounts(&self) -> anyhow::Result<Vec<ComposioConnectedAccount>> {
let url = format!("{}/connected_accounts", self.base_v3);
self.ensure_request_url(&url)?;
View on GitHub (pinned to 7491200858)
Solutions
- Retry the connect request
- Verify the app name and entity id are correct for v2 connect
- Check Composio status/Docs for a changed v2 response format
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/integrations/composio/tools/direct.rs:611 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/dcd38219313f2352.
Report an issue: GitHub.