tinyhumansai/openhuman · error

could not build HTTP client for Ollama probe: {e}

Error message

could not build HTTP client for Ollama probe: {e}

What it means

Doctor embedding-model probe: reqwest::blocking::Client::builder() with a 3s timeout failed to build, so the Ollama reachability check at {base_url}/api/tags cannot even be attempted. This is a client-construction failure (typically TLS backend init or system resource limits), not an Ollama-side problem — the probe aborts without drawing conclusions about the daemon.

Source

Thrown at src/openhuman/platform/doctor/core.rs:895

            cat,
            format!("embedding provider: {provider} (model: {model}) — no local daemon required"),
        ));
        return;
    }

    // Ollama path: probe reachability then model availability.
    let base_url = crate::openhuman::inference::local::ollama_base_url();
    let tags_url = format!("{}/api/tags", base_url.trim_end_matches('/'));

    log::debug!("[doctor] probing ollama at {tags_url} for embedding model {model}");

    let client = match reqwest::blocking::Client::builder()
        .timeout(std::time::Duration::from_secs(3))
        .build()
    {
        Ok(c) => c,
        Err(e) => {
            items.push(DiagnosticItem::warn(
                cat,
                format!("could not build HTTP client for Ollama probe: {e}"),
            ));
            return;
        }
    };

    let resp = match client.get(&tags_url).send() {
        Ok(r) => r,
        Err(e) => {
            items.push(DiagnosticItem::error(
                cat,
                format!(
                    "Ollama daemon unreachable at {base_url} — embedding model `{model}` cannot be used. \
                     Start Ollama, then run: ollama pull {model}  (error: {e})"
                ),
            ));
            return;

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry the doctor — transient resource exhaustion can make client init fail once
  2. Check system TLS setup (root store, native-tls backend) if the failure is persistent
  3. Probe Ollama manually with curl {base_url}/api/tags to confirm the daemon independently
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src/openhuman/platform/doctor/core.rs:895 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/74736e2503c52e80. Report an issue: GitHub.