From 209d95870e2bcd368b09ad76443c0000d232f855 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Fri, 2 Jan 2026 10:31:48 +0100 Subject: [PATCH] Fix arrow key in model selector prior to model loading (#398) --- .../src/modes/interactive/components/model-selector.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/coding-agent/src/modes/interactive/components/model-selector.ts b/packages/coding-agent/src/modes/interactive/components/model-selector.ts index bbf77f2a..0d1ad239 100644 --- a/packages/coding-agent/src/modes/interactive/components/model-selector.ts +++ b/packages/coding-agent/src/modes/interactive/components/model-selector.ts @@ -152,6 +152,7 @@ export class ModelSelectorComponent extends Container { this.allModels = models; this.filteredModels = models; + this.selectedIndex = Math.min(this.selectedIndex, Math.max(0, models.length - 1)); } private filterModels(query: string): void { @@ -216,11 +217,13 @@ export class ModelSelectorComponent extends Container { handleInput(keyData: string): void { // Up arrow - wrap to bottom when at top if (isArrowUp(keyData)) { + if (this.filteredModels.length === 0) return; this.selectedIndex = this.selectedIndex === 0 ? this.filteredModels.length - 1 : this.selectedIndex - 1; this.updateList(); } // Down arrow - wrap to top when at bottom else if (isArrowDown(keyData)) { + if (this.filteredModels.length === 0) return; this.selectedIndex = this.selectedIndex === this.filteredModels.length - 1 ? 0 : this.selectedIndex + 1; this.updateList(); }