From 3592f9b7c98769c3866e281b72e12f9f9b295b1f Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Sun, 11 Jan 2026 18:00:52 +0100 Subject: [PATCH] fix: Model selector fuzzy search matches provider + id Allows queries like 'anthropic opus' to match Anthropic models. Previously only matched against model ID, so 'anthropic' token failed. --- .../src/modes/interactive/components/model-selector.ts | 2 +- .../coding-agent/src/modes/interactive/interactive-mode.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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 bef29c4e..ce901e1a 100644 --- a/packages/coding-agent/src/modes/interactive/components/model-selector.ts +++ b/packages/coding-agent/src/modes/interactive/components/model-selector.ts @@ -153,7 +153,7 @@ export class ModelSelectorComponent extends Container { } private filterModels(query: string): void { - this.filteredModels = fuzzyFilter(this.allModels, query, ({ id }) => id); + this.filteredModels = fuzzyFilter(this.allModels, query, ({ provider, id }) => `${provider} ${id}`); this.selectedIndex = Math.min(this.selectedIndex, Math.max(0, this.filteredModels.length - 1)); this.updateList(); } diff --git a/packages/coding-agent/src/modes/interactive/interactive-mode.ts b/packages/coding-agent/src/modes/interactive/interactive-mode.ts index 37fb496b..526608e4 100644 --- a/packages/coding-agent/src/modes/interactive/interactive-mode.ts +++ b/packages/coding-agent/src/modes/interactive/interactive-mode.ts @@ -268,8 +268,8 @@ export class InteractiveMode { label: `${m.provider}/${m.id}`, })); - // Fuzzy filter by model ID (not provider/id to avoid matching provider name) - const filtered = fuzzyFilter(items, prefix, (item) => item.id); + // Fuzzy filter by provider + model ID (allows "anthropic opus" to match) + const filtered = fuzzyFilter(items, prefix, (item) => `${item.provider} ${item.id}`); if (filtered.length === 0) return null;