From c6472fd7a8cfe8dc71e2f10101ddc8b3151c082a Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Tue, 16 Sep 2025 12:23:49 +0200 Subject: [PATCH] agent_settings: Fix schema validation rejecting custom llm providers (#38248) Closes https://github.com/zed-industries/zed/issues/37989 Release Notes: - N/A --- crates/agent_settings/src/agent_settings.rs | 37 +++++++++++++-------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/crates/agent_settings/src/agent_settings.rs b/crates/agent_settings/src/agent_settings.rs index 153b64a3950718c3a8e8770a362b7c43a9bf443f..71516b568c2db65d8266d4233d6f7d2256379e1e 100644 --- a/crates/agent_settings/src/agent_settings.rs +++ b/crates/agent_settings/src/agent_settings.rs @@ -364,21 +364,30 @@ impl JsonSchema for LanguageModelProviderSetting { } fn json_schema(_: &mut schemars::SchemaGenerator) -> schemars::Schema { + // list the builtin providers as a subset so that we still auto complete them in the settings json_schema!({ - "enum": [ - "amazon-bedrock", - "anthropic", - "copilot_chat", - "deepseek", - "google", - "lmstudio", - "mistral", - "ollama", - "openai", - "openrouter", - "vercel", - "x_ai", - "zed.dev" + "anyOf": [ + { + "type": "string", + "enum": [ + "amazon-bedrock", + "anthropic", + "copilot_chat", + "deepseek", + "google", + "lmstudio", + "mistral", + "ollama", + "openai", + "openrouter", + "vercel", + "x_ai", + "zed.dev" + ] + }, + { + "type": "string", + } ] }) }