diff --git a/rust/crates/api/src/providers/mod.rs b/rust/crates/api/src/providers/mod.rs index af1776fefb..2df23980cf 100644 --- a/rust/crates/api/src/providers/mod.rs +++ b/rust/crates/api/src/providers/mod.rs @@ -254,7 +254,10 @@ pub fn metadata_for_model(model: &str) -> Option { // route to the correct provider regardless of which auth env vars are set. // Without this, detect_provider_kind falls through to the auth-sniffer // order and misroutes to Anthropic if ANTHROPIC_API_KEY is present. - if canonical.starts_with("openai/") || canonical.starts_with("gpt-") { + if canonical.starts_with("openai/") + || canonical.starts_with("local/") + || canonical.starts_with("gpt-") + { return Some(ProviderMetadata { provider: ProviderKind::OpenAi, auth_env: "OPENAI_API_KEY", diff --git a/rust/crates/api/src/providers/openai_compat.rs b/rust/crates/api/src/providers/openai_compat.rs index 1d53f120b4..21f6dc244a 100644 --- a/rust/crates/api/src/providers/openai_compat.rs +++ b/rust/crates/api/src/providers/openai_compat.rs @@ -939,7 +939,7 @@ fn wire_model_for_base_url<'a>( return Cow::Borrowed(&model[pos + 1..]); } - if matches!(lowered_prefix.as_str(), "xai" | "grok" | "qwen" | "kimi") { + if matches!(lowered_prefix.as_str(), "local" | "xai" | "grok" | "qwen" | "kimi") { return Cow::Borrowed(&model[pos + 1..]); }