From ab134aa02b7ddfb015229e6a9f92bdbfca9c1424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Fri, 24 Jul 2026 17:15:10 +0000 Subject: [PATCH] chat: surface all OpenCode models (drop the curated allow-list) Removes the Big Pickle + Claude Haiku allow-list; the picker now lists every model the fixed server reports from GET /config/providers. Co-Authored-By: Claude Opus 4.8 --- src/servers/api/chat/list-models.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/servers/api/chat/list-models.ts b/src/servers/api/chat/list-models.ts index fc30ee08..d5feab91 100644 --- a/src/servers/api/chat/list-models.ts +++ b/src/servers/api/chat/list-models.ts @@ -8,9 +8,6 @@ const CLAUDE_CODE_MODELS: ModelInfo[] = [ { id: 'claude-code/haiku', name: 'haiku', provider: 'claude-code', contextWindow: 200000, maxTokens: 8192, reasoning: false, images: true }, ]; -// Curated OpenCode models to surface in the picker (the full catalog is ~58 entries). -const OPENCODE_ALLOWLIST = new Set(['opencode/big-pickle', 'opencode/claude-haiku-4-5']); - // Cache the OpenCode catalog; it's stable for a session. let openCodeCache: ModelInfo[] | null = null; @@ -36,10 +33,8 @@ async function listOpenCodeModels(): Promise { for (const provider of data.providers ?? []) { const providerId = provider.id ?? ''; for (const modelId of Object.keys(provider.models ?? {})) { - const full = `${providerId}/${modelId}`; - if (!OPENCODE_ALLOWLIST.has(full)) continue; models.push({ - id: full, + id: `${providerId}/${modelId}`, name: modelId, provider: providerId, contextWindow: 200000,