tinyhumansai/openhuman · error · anyhow::Error
[chat-factory] provider string '{}' for role '{}' has an emp
Error message
[chat-factory] provider string '{}' for role '{}' has an empty slug What it means
The configured provider string for a role contains a colon but an empty slug before it (e.g. ":gpt-4"). Guard on the split provider string before slug resolution; the message identifies the malformed string and role so the config typo is obvious.
Source
Thrown at src/openhuman/inference/provider/factory.rs:1015
role,
&resolve_primary_cloud_provider_string(config),
config,
);
}
#[cfg(not(test))]
if let Err(error) = verify_session_active(config) {
return error;
}
// 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 '{}'. \View on GitHub (pinned to 7491200858)
Solutions
- Fix the provider string to start with a valid slug (e.g. ollama:<model>, <slug>:<model>)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/inference/provider/factory.rs:1015 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/8e8736848554437f.
Report an issue: GitHub.