From cf09993ab58d7a75bda95a7b36a9ebac13913496 Mon Sep 17 00:00:00 2001 From: Om Chillure Date: Mon, 16 Feb 2026 20:12:51 +0530 Subject: [PATCH] Enable 'Add to Agent Thread' in worktree-less windows (#49084) Fixes #49062 Updates `crates/agent_ui/src/inline_assistant.rs` to ensure the TerminalPanel correctly syncs the assistant_enabled state on initialization. This fixes the issue where "Add to Agent Thread" was missing in worktree-less windows. ## Video: [Screencast from 2026-02-13 10-31-43.webm](https://github.com/user-attachments/assets/bee0df67-0ecf-460c-8123-a72c4790c719) ## Release Notes - Fixed an issue where "Add to Agent Thread" was missing from the terminal context menu in windows without open folders. --- crates/agent_ui/src/inline_assistant.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/crates/agent_ui/src/inline_assistant.rs b/crates/agent_ui/src/inline_assistant.rs index 3662f5a9f50f57fe29cc9c11344a2c3955b0a22d..f2221675764db228199e8f809d2b6ddf20b46d9e 100644 --- a/crates/agent_ui/src/inline_assistant.rs +++ b/crates/agent_ui/src/inline_assistant.rs @@ -132,9 +132,9 @@ impl InlineAssistant { }) .detach(); - let workspace = workspace.downgrade(); + let workspace_weak = workspace.downgrade(); cx.observe_global::(move |cx| { - let Some(workspace) = workspace.upgrade() else { + let Some(workspace) = workspace_weak.upgrade() else { return; }; let Some(terminal_panel) = workspace.read(cx).panel::(cx) else { @@ -146,6 +146,19 @@ impl InlineAssistant { }); }) .detach(); + + cx.observe(workspace, |workspace, cx| { + let Some(terminal_panel) = workspace.read(cx).panel::(cx) else { + return; + }; + let enabled = AgentSettings::get_global(cx).enabled(cx); + if terminal_panel.read(cx).assistant_enabled() != enabled { + terminal_panel.update(cx, |terminal_panel, cx| { + terminal_panel.set_assistant_enabled(enabled, cx) + }); + } + }) + .detach(); } /// Hides all active inline assists when AI is disabled