From f28763ae1a87de4f254da67c877ae5babba56165 Mon Sep 17 00:00:00 2001 From: "kiloconnect[bot]" <240665456+kiloconnect[bot]@users.noreply.github.com> Date: Tue, 7 Apr 2026 14:24:29 +0000 Subject: [PATCH 1/2] fix(vscode): scope cycleAgentMode keybinding to Kilo Code panels cmd+. and cmd+shift+. for cycleAgentMode were globally active, overriding VS Code's built-in Quick Fix menu. Add when clauses so the keybindings only activate when a Kilo Code view is focused (sidebar, Agent Manager, or open-in-tab panel). --- packages/kilo-vscode/package.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/kilo-vscode/package.json b/packages/kilo-vscode/package.json index 12ada5d5a7b..ac31a98767d 100644 --- a/packages/kilo-vscode/package.json +++ b/packages/kilo-vscode/package.json @@ -602,12 +602,14 @@ { "command": "kilo-code.new.cycleAgentMode", "key": "ctrl+.", - "mac": "cmd+." + "mac": "cmd+.", + "when": "focusedView == 'kilo-code.SidebarProvider' || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" }, { "command": "kilo-code.new.cyclePreviousAgentMode", "key": "ctrl+shift+.", - "mac": "cmd+shift+." + "mac": "cmd+shift+.", + "when": "focusedView == 'kilo-code.SidebarProvider' || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" }, { "command": "kilo-code.new.autocomplete.cancelSuggestions", From 2d424bd54d81005934026bdb31bd2c0bd509e7d9 Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Tue, 7 Apr 2026 16:47:19 +0200 Subject: [PATCH 2/2] fix(vscode): fix cycleAgentMode when clause and tab panel dispatch Replace unreliable focusedView with sideBarFocus + custom sidebarVisible context key for sidebar detection. Also dispatch cycleAgentMode actions to active tab panels, which were previously missed. --- packages/kilo-vscode/package.json | 4 ++-- packages/kilo-vscode/src/KiloProvider.ts | 4 +++- packages/kilo-vscode/src/extension.ts | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/kilo-vscode/package.json b/packages/kilo-vscode/package.json index ac31a98767d..09cbad788a3 100644 --- a/packages/kilo-vscode/package.json +++ b/packages/kilo-vscode/package.json @@ -603,13 +603,13 @@ "command": "kilo-code.new.cycleAgentMode", "key": "ctrl+.", "mac": "cmd+.", - "when": "focusedView == 'kilo-code.SidebarProvider' || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" + "when": "sideBarFocus && kilo-code.new.sidebarVisible || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" }, { "command": "kilo-code.new.cyclePreviousAgentMode", "key": "ctrl+shift+.", "mac": "cmd+shift+.", - "when": "focusedView == 'kilo-code.SidebarProvider' || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" + "when": "sideBarFocus && kilo-code.new.sidebarVisible || activeWebviewPanelId == 'kilo-code.new.AgentManagerPanel' || activeWebviewPanelId == 'kilo-code.new.TabPanel'" }, { "command": "kilo-code.new.autocomplete.cancelSuggestions", diff --git a/packages/kilo-vscode/src/KiloProvider.ts b/packages/kilo-vscode/src/KiloProvider.ts index cd935153f9a..2b153315bb4 100644 --- a/packages/kilo-vscode/src/KiloProvider.ts +++ b/packages/kilo-vscode/src/KiloProvider.ts @@ -336,8 +336,10 @@ export class KiloProvider implements vscode.WebviewViewProvider, TelemetryProper // Handle messages from webview (shared handler) this.setupWebviewMessageHandler(webviewView.webview) - // Pause stats polling when sidebar is hidden, resume when visible + // Track sidebar visibility for keybinding when-clauses and stats polling + vscode.commands.executeCommand("setContext", "kilo-code.new.sidebarVisible", webviewView.visible) webviewView.onDidChangeVisibility(() => { + vscode.commands.executeCommand("setContext", "kilo-code.new.sidebarVisible", webviewView.visible) this.statsPoller?.setEnabled(webviewView.visible) }) diff --git a/packages/kilo-vscode/src/extension.ts b/packages/kilo-vscode/src/extension.ts index 6679ac84453..438b26c3a9c 100644 --- a/packages/kilo-vscode/src/extension.ts +++ b/packages/kilo-vscode/src/extension.ts @@ -188,11 +188,15 @@ export function activate(context: vscode.ExtensionContext) { else provider.postMessage({ type: "action", action: "historyButtonClicked" }) }), vscode.commands.registerCommand("kilo-code.new.cycleAgentMode", () => { - provider.postMessage({ type: "action", action: "cycleAgentMode" }) + const tab = activeTabProvider() + if (tab) tab.postMessage({ type: "action", action: "cycleAgentMode" }) + else provider.postMessage({ type: "action", action: "cycleAgentMode" }) agentManagerProvider.postMessage({ type: "action", action: "cycleAgentMode" }) }), vscode.commands.registerCommand("kilo-code.new.cyclePreviousAgentMode", () => { - provider.postMessage({ type: "action", action: "cyclePreviousAgentMode" }) + const tab = activeTabProvider() + if (tab) tab.postMessage({ type: "action", action: "cyclePreviousAgentMode" }) + else provider.postMessage({ type: "action", action: "cyclePreviousAgentMode" }) agentManagerProvider.postMessage({ type: "action", action: "cyclePreviousAgentMode" }) }), vscode.commands.registerCommand("kilo-code.new.profileButtonClicked", () => {