From 2622b1936b524eafd943f7076d08d4233b5c080e Mon Sep 17 00:00:00 2001 From: zerone0x Date: Mon, 19 Jan 2026 00:40:48 +0800 Subject: [PATCH] fix(configure): filter openrouter/auto from model selection list The openrouter/auto model is OpenRouter's internal routing feature, not a callable model. While it's valid as a default (set automatically during OpenRouter auth flow), showing it in the configure wizard's model selection causes "Unknown model: openrouter/auto" errors when users select it manually. Add a HIDDEN_ROUTER_MODELS set to filter out such internal models from the selection list while preserving existing functionality. Fixes #1115 Co-Authored-By: Claude --- src/commands/model-picker.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/commands/model-picker.ts b/src/commands/model-picker.ts index 3590bc59696..c4ce5c4bedb 100644 --- a/src/commands/model-picker.ts +++ b/src/commands/model-picker.ts @@ -17,6 +17,11 @@ const KEEP_VALUE = "__keep__"; const MANUAL_VALUE = "__manual__"; const PROVIDER_FILTER_THRESHOLD = 30; +// Models that are internal routing features and should not be shown in selection lists. +// These may be valid as defaults (e.g., set automatically during auth flow) but are not +// directly callable via API and would cause "Unknown model" errors if selected manually. +const HIDDEN_ROUTER_MODELS = new Set(["openrouter/auto"]); + type PromptDefaultModelParams = { config: ClawdbotConfig; prompter: WizardPrompter; @@ -183,6 +188,8 @@ export async function promptDefaultModel( }) => { const key = modelKey(entry.provider, entry.id); if (seen.has(key)) return; + // Skip internal router models that can't be directly called via API. + if (HIDDEN_ROUTER_MODELS.has(key)) return; const hints: string[] = []; if (entry.name && entry.name !== entry.id) hints.push(entry.name); if (entry.contextWindow) hints.push(`ctx ${formatTokenK(entry.contextWindow)}`);