From e8d83b5f983031d1cfc3aa875aad6d530ef17942 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Wed, 8 Apr 2026 13:02:05 +0900 Subject: [PATCH] fix(zwsp): strip zero-width chars in delegate-task tools Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/tools/delegate-task/subagent-resolver.ts | 5 +++-- src/tools/delegate-task/sync-prompt-sender.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/tools/delegate-task/subagent-resolver.ts b/src/tools/delegate-task/subagent-resolver.ts index f5a255c70..8ba7cdd8e 100644 --- a/src/tools/delegate-task/subagent-resolver.ts +++ b/src/tools/delegate-task/subagent-resolver.ts @@ -89,9 +89,10 @@ Create the work plan directly - that's your job as the planning agent.`, const callableAgents = agents.filter((agent) => isTaskCallableAgentMode(agent.mode)) - const resolvedDisplayName = getAgentDisplayName(agentToUse) + const resolvedDisplayName = getAgentDisplayName(agentToUse).replace(/^\u200B+/, "") + const normalizedAgentToUse = agentToUse.replace(/^\u200B+/, "") const matchedAgent = callableAgents.find( - (agent) => agent.name.toLowerCase() === agentToUse.toLowerCase() + (agent) => agent.name.toLowerCase() === normalizedAgentToUse.toLowerCase() || agent.name.toLowerCase() === resolvedDisplayName.toLowerCase() ) if (!matchedAgent) { diff --git a/src/tools/delegate-task/sync-prompt-sender.ts b/src/tools/delegate-task/sync-prompt-sender.ts index 489804253..882258d98 100644 --- a/src/tools/delegate-task/sync-prompt-sender.ts +++ b/src/tools/delegate-task/sync-prompt-sender.ts @@ -80,7 +80,7 @@ export async function sendSyncPrompt( const promptArgs = { path: { id: input.sessionID }, body: { - agent: input.agentToUse, + agent: input.agentToUse.replace(/^\u200B+/, ""), system: input.systemContent, tools, parts: [createInternalAgentTextPart(effectivePrompt)],