From dae2eb5bfa09a680eea63d9e39d5303375a5cec7 Mon Sep 17 00:00:00 2001 From: Daniel Nouri Date: Sun, 8 Feb 2026 23:04:42 +0100 Subject: [PATCH] fix(subagent): list available agents in unknown-agent error (#1414) The invalid-params error paths already listed available agents, but the unknown-agent path in runSingleAgent just returned 'Unknown agent: claude' with no hint what exists. Now: 'Unknown agent: "claude". Available agents: "worker".' Model would guess names like "claude", "default", or skill names like "brave-search". Now it self-corrects on the next call. Tested with Opus 4.6: without fix, model gave up on subagent and ran the tool calls itself instead. With fix, 1 wasted call. --- packages/coding-agent/examples/extensions/subagent/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/coding-agent/examples/extensions/subagent/index.ts b/packages/coding-agent/examples/extensions/subagent/index.ts index 1c43cbfc..87a967ac 100644 --- a/packages/coding-agent/examples/extensions/subagent/index.ts +++ b/packages/coding-agent/examples/extensions/subagent/index.ts @@ -231,13 +231,14 @@ async function runSingleAgent( const agent = agents.find((a) => a.name === agentName); if (!agent) { + const available = agents.map((a) => `"${a.name}"`).join(", ") || "none"; return { agent: agentName, agentSource: "unknown", task, exitCode: 1, messages: [], - stderr: `Unknown agent: ${agentName}`, + stderr: `Unknown agent: "${agentName}". Available agents: ${available}.`, usage: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, cost: 0, contextTokens: 0, turns: 0 }, step, };