diff --git a/src/ui/shell/CommandPalette.tsx b/src/ui/shell/CommandPalette.tsx index 4af2c573..28e1180a 100644 --- a/src/ui/shell/CommandPalette.tsx +++ b/src/ui/shell/CommandPalette.tsx @@ -126,14 +126,18 @@ export function CommandPalette({ }, [isOpen]); useEffect(() => { + if (!isOpen) return; + const handleKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape") { + e.preventDefault(); + e.stopPropagation(); setIsOpen(false); } }; - window.addEventListener("keydown", handleKeyDown); - return () => window.removeEventListener("keydown", handleKeyDown); - }, [setIsOpen]); + window.addEventListener("keydown", handleKeyDown, true); + return () => window.removeEventListener("keydown", handleKeyDown, true); + }, [isOpen, setIsOpen]); const filteredHosts = hosts.filter( (h) =>