tinyhumansai/openhuman · error · anyhow::Error

[chat-factory] configured provider '{}' for role '{}' did no

Error message

[chat-factory] configured provider '{}' for role '{}' did not produce a crate-native chat model

What it means

A configured cloud-provider slug resolved successfully through resolve_cloud_slug but the resolution path produced no crate-native chat model object — an internal inconsistency between slug resolution and model construction. Distinct from an unrecognised slug: the slug was known, construction just yielded nothing.

Source

Thrown at src/openhuman/inference/provider/factory.rs:1024

    }

    // Preserve the legacy chokepoint's disclosure ordering for invalid custom
    // routes: after both gates pass, the attempted external destination is
    // visible even when configuration validation then fails.
    emit_inference_egress(role, p);

    if let Some((slug, model_with_temperature)) = p.split_once(':') {
        if slug.trim().is_empty() {
            return anyhow::anyhow!(
                "[chat-factory] provider string '{}' for role '{}' has an empty slug",
                p,
                role
            );
        }
        let (model, _) = split_model_and_temperature(model_with_temperature);
        return match resolve_cloud_slug(role, slug.trim(), &model, config) {
            Err(error) => error,
            Ok(_) => anyhow::anyhow!(
                "[chat-factory] configured provider '{}' for role '{}' did not produce a crate-native chat model",
                p,
                role
            ),
        };
    }

    anyhow::anyhow!(
        "[chat-factory] unrecognised provider string '{}' for role '{}'. \
         Valid forms: openhuman, ollama:<model>, lmstudio:<model>, mlx:<model>, omlx:<model>, \
         local-openai:<model>, claude_agent_sdk, claude_agent_sdk:<model>, <slug>:<model>. \
         Configured slugs: [{}]",
        p,
        role,
        config
            .cloud_providers
            .iter()
            .map(|entry| entry.slug.as_str())

View on GitHub (pinned to 7491200858)

Solutions

  1. Check the cloud_providers entry's endpoint/model fields for malformed values
  2. Verify the provider kind maps to a supported crate-native constructor
  3. Report as a bug if the entry appears well-formed
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/inference/provider/factory.rs:1024 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/d2396a91a305bcfa. Report an issue: GitHub.