tinyhumansai/openhuman · error · anyhow::Error

unknown embedding provider: "{unknown}". Supported: "managed

Error message

unknown embedding provider: "{unknown}". Supported: "managed", "voyage", "openai", "cohere", "ollama", "custom:<url>", "none"

What it means

The default-parsed embedding provider name matched none of the known kinds (managed/voyage/openai/cohere/ollama/none/custom:<url>) in the API-key-less factory path. A configuration-string validation error: the provider string in config (or its default) is misspelled or of an unsupported form, and the message enumerates the accepted spellings.

Source

Thrown at src/openhuman/inference/embeddings/factory.rs:97

            "https://api.openai.com",
            "",
            model,
            dims,
            true,
        ))),
        "cohere" => Ok(TinyAgentsEmbeddingProvider::boxed(
            CohereEmbeddingModel::new("")
                .with_model(model)
                .with_dimensions(dims),
        )),
        name if name.starts_with("custom:") => {
            let base_url = name.strip_prefix("custom:").unwrap_or("");
            Ok(TinyAgentsEmbeddingProvider::boxed(openai_model(
                base_url, "", model, dims, false,
            )))
        }
        "none" => Ok(TinyAgentsEmbeddingProvider::boxed(NoopEmbeddingModel)),
        unknown => Err(anyhow::anyhow!(
            "unknown embedding provider: \"{unknown}\". \
             Supported: \"managed\", \"voyage\", \"openai\", \"cohere\", \
             \"ollama\", \"custom:<url>\", \"none\""
        )),
    }
}

/// Creates an embedding provider with explicit API key and endpoint.
///
/// Used by the RPC layer when credentials are loaded from the credential
/// store.
pub fn create_embedding_provider_with_credentials(
    provider: &str,
    model: &str,
    dims: usize,
    api_key: &str,
    custom_endpoint: Option<&str>,
) -> anyhow::Result<Box<dyn EmbeddingProvider>> {

View on GitHub (pinned to 7491200858)

Solutions

  1. Correct the embedding provider name to one of the listed supported values
  2. Use the custom:<url> form for an OpenAI-compatible custom endpoint
  3. Set embeddings to "none" to disable
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/inference/embeddings/factory.rs:97 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/dcea436b5e001b83. Report an issue: GitHub.