@@ -83,8 +83,9 @@ export class ChatSelectedTools extends Disposable {
8383 const currentMode = this . _mode . read ( r ) ;
8484
8585 let currentMap = this . _sessionStates . get ( currentMode . id ) ;
86- if ( ! currentMap && currentMode . kind === ChatModeKind . Agent && currentMode . customTools ) {
87- currentMap = this . _toolsService . toToolAndToolSetEnablementMap ( currentMode . customTools . read ( r ) ) ;
86+ const modeTools = currentMode . customTools ?. read ( r ) ;
87+ if ( ! currentMap && currentMode . kind === ChatModeKind . Agent && modeTools ) {
88+ currentMap = this . _toolsService . toToolAndToolSetEnablementMap ( modeTools ) ;
8889 }
8990 if ( currentMap ) {
9091 for ( const tool of this . _allTools . read ( r ) ) {
@@ -118,7 +119,7 @@ export class ChatSelectedTools extends Disposable {
118119 if ( this . _sessionStates . has ( mode . id ) ) {
119120 return ToolsScope . Session ;
120121 }
121- if ( mode . kind === ChatModeKind . Agent && mode . customTools && mode . uri ) {
122+ if ( mode . kind === ChatModeKind . Agent && mode . customTools ?. get ( ) && mode . uri ) {
122123 return ToolsScope . Mode ;
123124 }
124125 return ToolsScope . Global ;
@@ -143,7 +144,7 @@ export class ChatSelectedTools extends Disposable {
143144 this . _sessionStates . set ( mode . id , enablementMap ) ;
144145 return ;
145146 }
146- if ( mode . kind === ChatModeKind . Agent && mode . customTools && mode . uri ) {
147+ if ( mode . kind === ChatModeKind . Agent && mode . customTools ?. get ( ) && mode . uri ) {
147148 // apply directly to mode file.
148149 this . updateCustomModeTools ( mode . uri . get ( ) , enablementMap ) ;
149150 return ;
0 commit comments