From f51891b270fa7cff478678c4622bfef60684c679 Mon Sep 17 00:00:00 2001 From: Christian Gunderman Date: Thu, 12 Mar 2026 19:53:09 -0700 Subject: [PATCH] Fix recursive generalist agent. --- packages/core/src/agents/generalist-agent.ts | 1 + packages/core/src/core/prompts.ts | 2 ++ packages/core/src/prompts/promptProvider.ts | 17 ++++++++++------- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/core/src/agents/generalist-agent.ts b/packages/core/src/agents/generalist-agent.ts index 412880b089..68b3c28e31 100644 --- a/packages/core/src/agents/generalist-agent.ts +++ b/packages/core/src/agents/generalist-agent.ts @@ -57,6 +57,7 @@ export const GeneralistAgent = ( config, /*useMemory=*/ undefined, /*interactiveOverride=*/ false, + /*includeSubagents=*/ false, ), query: '${request}', }; diff --git a/packages/core/src/core/prompts.ts b/packages/core/src/core/prompts.ts index b85c29494d..01b42b5ecc 100644 --- a/packages/core/src/core/prompts.ts +++ b/packages/core/src/core/prompts.ts @@ -24,11 +24,13 @@ export function getCoreSystemPrompt( config: Config, userMemory?: string | HierarchicalMemory, interactiveOverride?: boolean, + includeSubagents?: boolean, ): string { return new PromptProvider().getCoreSystemPrompt( config, userMemory, interactiveOverride, + includeSubagents, ); } diff --git a/packages/core/src/prompts/promptProvider.ts b/packages/core/src/prompts/promptProvider.ts index 01dbd8d4d4..cac56c76c8 100644 --- a/packages/core/src/prompts/promptProvider.ts +++ b/packages/core/src/prompts/promptProvider.ts @@ -43,6 +43,7 @@ export class PromptProvider { config: Config, userMemory?: string | HierarchicalMemory, interactiveOverride?: boolean, + includeSubagents: boolean = true, ): string { const systemMdResolution = resolvePathFromEnv( process.env['GEMINI_SYSTEM_MD'], @@ -124,13 +125,15 @@ export class PromptProvider { contextFilenames, })), subAgents: this.withSection('agentContexts', () => - config - .getAgentRegistry() - .getAllDefinitions() - .map((d) => ({ - name: d.name, - description: d.description, - })), + includeSubagents + ? config + .getAgentRegistry() + .getAllDefinitions() + .map((d) => ({ + name: d.name, + description: d.description, + })) + : [], ), agentSkills: this.withSection( 'agentSkills',