@@ -83,8 +83,9 @@ export class ChatSelectedTools extends Disposable {
83
83
const currentMode = this . _mode . read ( r ) ;
84
84
85
85
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 ) ;
88
89
}
89
90
if ( currentMap ) {
90
91
for ( const tool of this . _allTools . read ( r ) ) {
@@ -118,7 +119,7 @@ export class ChatSelectedTools extends Disposable {
118
119
if ( this . _sessionStates . has ( mode . id ) ) {
119
120
return ToolsScope . Session ;
120
121
}
121
- if ( mode . kind === ChatModeKind . Agent && mode . customTools && mode . uri ) {
122
+ if ( mode . kind === ChatModeKind . Agent && mode . customTools ?. get ( ) && mode . uri ) {
122
123
return ToolsScope . Mode ;
123
124
}
124
125
return ToolsScope . Global ;
@@ -143,7 +144,7 @@ export class ChatSelectedTools extends Disposable {
143
144
this . _sessionStates . set ( mode . id , enablementMap ) ;
144
145
return ;
145
146
}
146
- if ( mode . kind === ChatModeKind . Agent && mode . customTools && mode . uri ) {
147
+ if ( mode . kind === ChatModeKind . Agent && mode . customTools ?. get ( ) && mode . uri ) {
147
148
// apply directly to mode file.
148
149
this . updateCustomModeTools ( mode . uri . get ( ) , enablementMap ) ;
149
150
return ;
0 commit comments