From ccbfe94a4901ea3337eeb7f1bda320654fd42702 Mon Sep 17 00:00:00 2001 From: Eugene Date: Thu, 16 Jul 2026 14:59:45 +0200 Subject: [PATCH] fix(core): Hide sub-workflow tool from agent tool selection (no-changelog) (#34336) Co-authored-by: Claude Fable 5 --- .../@n8n/api-types/src/agent-builder-tool-node-types.ts | 8 +++++++- .../modules/agents/__tests__/agents-tools.service.test.ts | 4 ++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/@n8n/api-types/src/agent-builder-tool-node-types.ts b/packages/@n8n/api-types/src/agent-builder-tool-node-types.ts index d083dc9dab5..97b8bc5d799 100644 --- a/packages/@n8n/api-types/src/agent-builder-tool-node-types.ts +++ b/packages/@n8n/api-types/src/agent-builder-tool-node-types.ts @@ -1,8 +1,14 @@ -import { AI_VENDOR_NODE_TYPES, CHAT_TOOL_NODE_TYPE } from 'n8n-workflow'; +import { + AI_VENDOR_NODE_TYPES, + CHAT_TOOL_NODE_TYPE, + WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, +} from 'n8n-workflow'; export const AGENT_BUILDER_HIDDEN_AVAILABLE_TOOL_NODE_TYPES: readonly string[] = [ ...AI_VENDOR_NODE_TYPES.map((nodeType) => `${nodeType}Tool`), CHAT_TOOL_NODE_TYPE, + // Agents call workflows via native workflow tools, not the sub-workflow node + WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, ]; export const AGENT_BUILDER_AVAILABLE_AI_UTILITY_TOOL_NODE_TYPES = [ diff --git a/packages/cli/src/modules/agents/__tests__/agents-tools.service.test.ts b/packages/cli/src/modules/agents/__tests__/agents-tools.service.test.ts index adc0d3143f0..f71815d8f7c 100644 --- a/packages/cli/src/modules/agents/__tests__/agents-tools.service.test.ts +++ b/packages/cli/src/modules/agents/__tests__/agents-tools.service.test.ts @@ -157,6 +157,10 @@ describe('AgentsToolsService', () => { } }); + it('rejects the sub-workflow tool node', () => { + expect(isAgentToolNodeType('@n8n/n8n-nodes-langchain.toolWorkflow')).toBe(false); + }); + it('allows shared AI utility tool node IDs', () => { for (const nodeType of AGENT_BUILDER_AVAILABLE_AI_UTILITY_TOOL_NODE_TYPES) { expect(isAgentToolNodeType(nodeType)).toBe(true);