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;