From 40028010347f658b4576348d8ff70cf68873213b Mon Sep 17 00:00:00 2001 From: Bennet Bo Fenner Date: Fri, 18 Jul 2025 15:58:44 +0200 Subject: [PATCH] agent: Fix new thread model selection when starting new thread (#34708) Release Notes: - agent: Fixed an issue where clicking on "Start New Thread" in the agent configuration would not always switch to the correct provider/model --- crates/agent_ui/src/agent_panel.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/crates/agent_ui/src/agent_panel.rs b/crates/agent_ui/src/agent_panel.rs index 087eec5efb08de000f95be74226e120fde56654d..103e4396154e3073daed1063cb0239ba18ddb4cc 100644 --- a/crates/agent_ui/src/agent_panel.rs +++ b/crates/agent_ui/src/agent_panel.rs @@ -53,7 +53,8 @@ use gpui::{ }; use language::LanguageRegistry; use language_model::{ - ConfigurationError, LanguageModelProviderTosView, LanguageModelRegistry, ZED_CLOUD_PROVIDER_ID, + ConfigurationError, ConfiguredModel, LanguageModelProviderTosView, LanguageModelRegistry, + ZED_CLOUD_PROVIDER_ID, }; use project::{Project, ProjectPath, Worktree}; use prompt_store::{PromptBuilder, PromptStore, UserPromptId}; @@ -1347,6 +1348,19 @@ impl AgentPanel { } self.new_thread(&NewThread::default(), window, cx); + if let Some((thread, model)) = + self.active_thread(cx).zip(provider.default_model(cx)) + { + thread.update(cx, |thread, cx| { + thread.set_configured_model( + Some(ConfiguredModel { + provider: provider.clone(), + model, + }), + cx, + ); + }); + } } } }