From 1ce5a05bf0ba40262fa884fdbeec2dab715a3ccb Mon Sep 17 00:00:00 2001 From: Bhavya U Date: Thu, 28 Aug 2025 18:57:53 -0700 Subject: [PATCH] fix: improve built-in agent and tool registration logic based on installation and entitlement state (#263942) --- src/vs/workbench/contrib/chat/browser/chatSetup.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup.ts b/src/vs/workbench/contrib/chat/browser/chatSetup.ts index 6050a87a9a8..c1765918768 100644 --- a/src/vs/workbench/contrib/chat/browser/chatSetup.ts +++ b/src/vs/workbench/contrib/chat/browser/chatSetup.ts @@ -881,10 +881,9 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr disposables.add(SetupAgent.registerDefaultAgents(this.instantiationService, ChatAgentLocation.Editor, undefined, context, controller).disposable); } - // Built-In Agent + Tool (unless installed and enabled) - if (!(context.state.installed && !context.state.disabled) && !vscodeAgentDisposables.value) { + // Built-In Agent + Tool (unless installed, signed-in and enabled) + if ((!context.state.installed || context.state.entitlement === ChatEntitlement.Unknown || context.state.entitlement === ChatEntitlement.Unresolved) && !vscodeAgentDisposables.value) { const disposables = vscodeAgentDisposables.value = new DisposableStore(); - disposables.add(SetupAgent.registerBuiltInAgents(this.instantiationService, context, controller).disposable); } } else { @@ -892,7 +891,7 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr vscodeAgentDisposables.clear(); } - if (context.state.installed && !context.state.disabled) { + if ((context.state.installed && context.state.entitlement !== ChatEntitlement.Unknown && context.state.entitlement !== ChatEntitlement.Unresolved) && !context.state.disabled) { vscodeAgentDisposables.clear(); // we need to do this to prevent showing duplicate agent/tool entries in the list } };