diff --git a/chat/server.js b/chat/server.js index 1da1455..13bb34e 100644 --- a/chat/server.js +++ b/chat/server.js @@ -5134,10 +5134,10 @@ async function ensureOpencodeConfig(session) { log('ensureOpencodeConfig debug', { sessionId: session.id, adminModelsCount: adminModels.length, - adminModelsSample: adminModels.slice(0, 2).map(m => ({ + adminModelsSample: adminModels.slice(0, 3).map(m => ({ id: m.id, name: m.name, - providers: m.providers?.map(p => p.provider), + providers: m.providers, primaryProvider: m.primaryProvider })), chutesKeyExists: !!CHUTES_API_KEY, @@ -5149,7 +5149,12 @@ async function ensureOpencodeConfig(session) { for (const model of adminModels) { if (Array.isArray(model.providers)) { for (const p of model.providers) { - if (p.provider) usedProviders.add(p.provider.toLowerCase()); + // Handle both string format ["opencode", "chutes"] and object format [{provider: "opencode"}] + if (typeof p === 'string') { + usedProviders.add(p.toLowerCase()); + } else if (p && typeof p === 'object' && p.provider) { + usedProviders.add(p.provider.toLowerCase()); + } } } if (model.primaryProvider) {