@@ -415,6 +415,7 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge
415415 if ( model ) {
416416 this . _currentLanguageModel = { metadata : model , identifier : persistedSelection } ;
417417 this . _onDidChangeCurrentLanguageModel . fire ( this . _currentLanguageModel ) ;
418+ this . checkModelSupported ( ) ;
418419 } else {
419420 this . _waitForPersistedLanguageModel . value = this . languageModelsService . onDidChangeLanguageModels ( e => {
420421 const persistedModel = e . added ?. find ( m => m . identifier === persistedSelection ) ;
@@ -424,19 +425,24 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge
424425 if ( persistedModel . metadata . isUserSelectable ) {
425426 this . _currentLanguageModel = { metadata : persistedModel . metadata , identifier : persistedSelection } ;
426427 this . _onDidChangeCurrentLanguageModel . fire ( this . _currentLanguageModel ! ) ;
428+ this . checkModelSupported ( ) ;
427429 }
428430 }
429431 } ) ;
430432 }
431433 }
432434
433435 this . _register ( this . chatAgentService . onDidChangeToolsAgentModeEnabled ( ( ) => {
434- if ( this . _currentLanguageModel && ! this . modelSupportedForDefaultAgent ( this . _currentLanguageModel ) ) {
435- this . setCurrentLanguageModelToDefault ( ) ;
436- }
436+ this . checkModelSupported ( ) ;
437437 } ) ) ;
438438 }
439439
440+ private checkModelSupported ( ) : void {
441+ if ( this . _currentLanguageModel && ! this . modelSupportedForDefaultAgent ( this . _currentLanguageModel ) ) {
442+ this . setCurrentLanguageModelToDefault ( ) ;
443+ }
444+ }
445+
440446 private supportsVision ( ) : boolean {
441447 return this . _currentLanguageModel ?. metadata . capabilities ?. vision ?? false ;
442448 }
@@ -475,6 +481,9 @@ export class ChatInputPart extends Disposable implements IHistoryNavigationWidge
475481 this . _currentLanguageModel = hasUserSelectableLanguageModels && defaultLanguageModelId ?
476482 { metadata : this . languageModelsService . lookupLanguageModel ( defaultLanguageModelId ) ! , identifier : defaultLanguageModelId } :
477483 undefined ;
484+ if ( this . _currentLanguageModel ) {
485+ this . _onDidChangeCurrentLanguageModel . fire ( this . _currentLanguageModel ) ;
486+ }
478487 }
479488
480489 private setCurrentLanguageModelByUser ( model : ILanguageModelChatMetadataAndIdentifier ) {
0 commit comments