Skip to content

Commit c199155

Browse files
author
Tajudeen
committed
Fix: Remove unavailable Gemini model and improve error handling
- Remove gemini-2.5-pro-exp-03-25 from default models list (not available in API v1beta) - Update fallback logic to use gemini-2.5-pro-preview-05-06 instead - Add specific error handling for 404/model not found errors with clearer messages - Prevents repeated 404 errors when model router selects unavailable models
1 parent a60d20c commit c199155

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/vs/workbench/contrib/cortexide/common/modelCapabilities.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export const defaultModelsOfProvider = {
101101
'grok-3-mini-fast'
102102
],
103103
gemini: [ // https://ai.google.dev/gemini-api/docs/models/gemini
104-
'gemini-2.5-pro-exp-03-25',
104+
// 'gemini-2.5-pro-exp-03-25', // Not available in API v1beta
105105
'gemini-2.5-flash-preview-04-17',
106106
'gemini-2.0-flash',
107107
'gemini-2.0-flash-lite',
@@ -416,7 +416,7 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac
416416
};
417417
};
418418

419-
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5'))) { return toFallback(geminiModelOptions, 'gemini-2.5-pro-exp-03-25'); }
419+
if (lower.includes('gemini') && (lower.includes('2.5') || lower.includes('2-5'))) { return toFallback(geminiModelOptions, 'gemini-2.5-pro-preview-05-06'); }
420420

421421
if (lower.includes('claude-3-5') || lower.includes('claude-3.5')) { return toFallback(anthropicModelOptions, 'claude-3-5-sonnet-20241022'); }
422422
if (lower.includes('claude')) { return toFallback(anthropicModelOptions, 'claude-3-7-sonnet-20250219'); }

src/vs/workbench/contrib/cortexide/electron-main/llmMessage/sendLLMMessage.impl.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,11 @@ const sendGeminiChat = async ({
982982
else if (error?.message?.includes('429')) {
983983
onError({ message: 'Rate limit reached. ' + error, fullError: error });
984984
}
985+
else if (error?.message?.includes('404') || error?.message?.includes('NOT_FOUND') || error?.message?.includes('is not found')) {
986+
// Model not found - provide helpful error message
987+
const modelNotFoundMessage = `Model "${modelName}" is not available. The model may have been deprecated or is not supported in the current API version. Please try a different model.`;
988+
onError({ message: modelNotFoundMessage, fullError: error });
989+
}
985990
else
986991
onError({ message: error + '', fullError: error });
987992
}

0 commit comments

Comments
 (0)