tinyhumansai/openhuman · error

Seltz returned {status}: {detail}

Error message

Seltz returned {status}: {detail}

What it means

The Seltz search API answered a non-success HTTP status; {detail} embeds a UTF-8-safe 500-char body prefix. Auth (x-api-key), quota and upstream errors all surface here.

Source

Thrown at src/openhuman/search/tools/seltz.rs:302

            .header("x-api-key", api_key)
            .header("Content-Type", "application/json")
            .json(&body)
            .send()
            .await
            .map_err(|e| {
                tracing::warn!("[seltz] request failed: {e}");
                anyhow::anyhow!("Seltz search request failed: {e}")
            })?;

        let status = resp.status();
        if !status.is_success() {
            let body_text = resp.text().await.unwrap_or_default();
            let detail = utf8_safe_prefix_at_byte_boundary(&body_text, 500);
            tracing::warn!(
                status = %status,
                "[seltz] non-2xx response: {detail}"
            );
            anyhow::bail!("Seltz returned {status}: {detail}");
        }

        let search_resp: SeltzSearchResponse = resp.json().await.map_err(|e| {
            tracing::warn!("[seltz] failed to parse response: {e}");
            anyhow::anyhow!("Failed to parse Seltz response: {e}")
        })?;

        tracing::debug!(
            doc_count = search_resp.documents.len(),
            "[seltz] search complete"
        );

        let mut result =
            ToolResult::success(self.render_results_plain(&search_resp.documents, query));
        if options.prefer_markdown {
            result.markdown_formatted =
                Some(self.render_results_markdown(&search_resp.documents, query));
        }

View on GitHub (pinned to 7491200858)

Solutions

  1. Check the Seltz API key for 401/403
  2. Retry after the quota window for 429
  3. Read {detail} for Seltz's own error reason
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/search/tools/seltz.rs:302 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/49d71ed7c0344689. Report an issue: GitHub.