tinyhumansai/openhuman · error · anyhow::Error
unsupported local provider string '{provider}'
Error message
unsupported local provider string '{provider}' What it means
Returned by create_local_chat_model_from_string when the provider string does not match any known local-runtime provider scheme; the Option-based resolver returned None and the caller converted it into this anyhow error. Used by setup/probe paths that run before the desktop session gate.
Source
Thrown at src/openhuman/inference/provider/factory.rs:1860
auth,
&model,
&unsupported,
temp,
None,
);
return Some(Ok((chat, model)));
}
None
}
/// Build a crate-native local-runtime model for setup/probe calls that run
/// before the desktop session gate is established.
pub(crate) fn create_local_chat_model_from_string(
provider: &str,
config: &Config,
) -> anyhow::Result<(Arc<dyn ChatModel<()>>, String)> {
try_create_local_runtime_chat_model_from_string("chat", provider, config, false)
.ok_or_else(|| anyhow::anyhow!("unsupported local provider string '{provider}'"))?
}
/// Verify the user has an active OpenHuman backend session.
///
/// Without this check, an unregistered user can configure every workload
/// to use a custom cloud provider and bypass the session requirement
/// entirely. This function ensures that custom providers (Ollama,
/// `<slug>:<model>`) are only reachable when the workspace holds a valid
/// `app-session` JWT.
///
/// `pub(crate)`: also reused directly by the flows provider-connectivity
/// author gate (issue B45, `openhuman::flows::ops::evaluate_inference_readiness`)
/// as its Layer 1 sync session check, so the author-time gate and this
/// construction-time chokepoint can never diverge on what "session active"
/// means.
pub(crate) fn verify_session_active(config: &Config) -> anyhow::Result<()> {
// AgentBox marketplace containers run headless with no desktop
// `app-session` JWT — the deployment is operator-controlled and ships itsView on GitHub (pinned to 7491200858)
Solutions
- Use a supported local provider string (e.g. an ollama://, lmstudio, or llama.cpp-style local endpoint identifier as documented for local inference)
- If targeting a cloud provider, use the cloud provider resolution path instead of the local-runtime factory
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/inference/provider/factory.rs:1860 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/d8ced67273aa4616.
Report an issue: GitHub.