tinyhumansai/openhuman · error · anyhow::Error
unknown embedding provider: "{unknown}". Supported: "managed
Error message
unknown embedding provider: "{unknown}". Supported: "managed", "voyage", "openai", "cohere", "ollama", "custom", "none" What it means
The authenticated embedding factory (explicit api_key path) did not recognise the configured provider name; same validation as the default factory but with `custom` taking a separate custom_endpoint argument instead of the custom:<url> inline form. The provider string in config is misspelled or unsupported.
Source
Thrown at src/openhuman/inference/embeddings/factory.rs:159
"cohere" => Ok(TinyAgentsEmbeddingProvider::boxed(
CohereEmbeddingModel::new(api_key)
.with_model(model)
.with_dimensions(dims),
)),
"custom" => {
let url = custom_endpoint.unwrap_or("");
Ok(TinyAgentsEmbeddingProvider::boxed(openai_model(
url, api_key, model, dims, false,
)))
}
name if name.starts_with("custom:") => {
let url = custom_endpoint.unwrap_or_else(|| name.strip_prefix("custom:").unwrap_or(""));
Ok(TinyAgentsEmbeddingProvider::boxed(openai_model(
url, api_key, model, dims, false,
)))
}
"none" => Ok(TinyAgentsEmbeddingProvider::boxed(NoopEmbeddingModel)),
unknown => Err(anyhow::anyhow!(
"unknown embedding provider: \"{unknown}\". \
Supported: \"managed\", \"voyage\", \"openai\", \"cohere\", \
\"ollama\", \"custom\", \"none\""
)),
}
}
/// Config-aware variant of [`create_embedding_provider_with_credentials`].
///
/// Behaves identically for every provider **except** `managed`/`cloud`. For
/// those it threads the caller's real credential-store location
/// ([`managed_credential_scope`]) into the cloud embedder's bearer resolver — the
/// same `(state_dir, encrypt)` pair
/// [`AuthService::from_config`](crate::openhuman::security::credentials::AuthService::from_config)
/// uses to **store** the `app-session` token at sign-in.
///
/// The keyless constructors hardcode `(None, true)`, which resolves to
/// `default_state_dir()` (`~/.openhuman` root) with encryption forced on. On aView on GitHub (pinned to 7491200858)
Solutions
- Use one of the listed provider names (managed/voyage/openai/cohere/ollama/custom/none)
- Pass the endpoint via custom_endpoint when using "custom"
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/inference/embeddings/factory.rs:159 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/b68bbe06df665b83.
Report an issue: GitHub.