fix(core): ensure subagent tool updates apply configuration overrides immediately (#23161)

This commit is contained in:
Abhi
2026-03-22 20:24:24 -04:00
committed by GitHub
parent 6055c47079
commit c7d44e339b
4 changed files with 272 additions and 123 deletions
+21 -2
View File
@@ -3301,9 +3301,28 @@ export class Config implements McpContext, AgentLoopContext {
*/
private registerSubAgentTools(registry: ToolRegistry): void {
const agentsOverrides = this.getAgentsSettings().overrides ?? {};
const definitions = this.agentRegistry.getAllDefinitions();
const discoveredDefinitions =
this.agentRegistry.getAllDiscoveredAgentNames();
for (const definition of definitions) {
// First, unregister any agents that are now disabled
for (const agentName of discoveredDefinitions) {
if (
!this.isAgentsEnabled() ||
agentsOverrides[agentName]?.enabled === false
) {
const tool = registry.getTool(agentName);
if (tool instanceof SubagentTool) {
registry.unregisterTool(agentName);
}
}
}
const discoveredNames = this.agentRegistry.getAllDiscoveredAgentNames();
for (const agentName of discoveredNames) {
const definition = this.agentRegistry.getDiscoveredDefinition(agentName);
if (!definition) {
continue;
}
try {
if (
!this.isAgentsEnabled() ||