diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx index 0dfefe42..ce9bcde4 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-command.tsx @@ -78,7 +78,7 @@ export function CommandProvider(props: ParentProps) { const keybind = useKeybind() useKeyboard((evt) => { - if (keybind.match("command_list", evt)) { + if (keybind.match("command_list", evt) && dialog.stack.length === 0) { evt.preventDefault() dialog.replace(() => ) return diff --git a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx index 732aa457..c2faddaf 100644 --- a/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx @@ -15,7 +15,7 @@ export function DialogStatus() { Status esc - 0}> + 0} fallback={No MCP Servers}> {Object.keys(sync.data.mcp).length} MCP Servers diff --git a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx index 3c25c4a8..ee488810 100644 --- a/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx +++ b/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx @@ -123,8 +123,8 @@ export function DialogSelect(props: DialogSelectProps) { const keybind = useKeybind() useKeyboard((evt) => { - if (evt.name === "up") move(-1) - if (evt.name === "down") move(1) + if (evt.name === "up" || (evt.ctrl && evt.name === "p")) move(-1) + if (evt.name === "down" || (evt.ctrl && evt.name === "n")) move(1) if (evt.name === "pageup") move(-10) if (evt.name === "pagedown") move(10) if (evt.name === "return") {