diff --git a/src/tools/delegate-task/background-continuation.ts b/src/tools/delegate-task/background-continuation.ts index 52f262b90..4c500d5dd 100644 --- a/src/tools/delegate-task/background-continuation.ts +++ b/src/tools/delegate-task/background-continuation.ts @@ -37,6 +37,7 @@ export async function executeBackgroundContinuation( prompt: args.prompt, agent: task.agent, ...(task.category !== undefined ? { category: task.category } : {}), + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/background-task.ts b/src/tools/delegate-task/background-task.ts index d5c4adf5d..2f767b477 100644 --- a/src/tools/delegate-task/background-task.ts +++ b/src/tools/delegate-task/background-task.ts @@ -125,6 +125,7 @@ export async function executeBackgroundTask( prompt: args.prompt, agent: task.agent, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/sync-continuation.ts b/src/tools/delegate-task/sync-continuation.ts index d7c39f36e..a99f6ff39 100644 --- a/src/tools/delegate-task/sync-continuation.ts +++ b/src/tools/delegate-task/sync-continuation.ts @@ -78,6 +78,7 @@ export async function executeSyncContinuation( prompt: args.prompt, ...(resumeAgent !== undefined ? { agent: resumeAgent } : {}), ...(args.category !== undefined ? { category: args.category } : {}), + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/sync-task.ts b/src/tools/delegate-task/sync-task.ts index 034c0e199..e1b5e2cba 100644 --- a/src/tools/delegate-task/sync-task.ts +++ b/src/tools/delegate-task/sync-task.ts @@ -120,6 +120,7 @@ export async function executeSyncTask( prompt: args.prompt, agent: agentToUse, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background, diff --git a/src/tools/delegate-task/tool-argument-preparation.ts b/src/tools/delegate-task/tool-argument-preparation.ts index d54b12ca6..8f529230b 100644 --- a/src/tools/delegate-task/tool-argument-preparation.ts +++ b/src/tools/delegate-task/tool-argument-preparation.ts @@ -60,6 +60,7 @@ export async function prepareDelegateTaskArgs(args: Record, ctx args.category = category args.subagent_type = subagentType + args.requested_subagent_type = originalSubagentType args.description = description args.prompt = prompt args.run_in_background = runInBackground @@ -70,6 +71,7 @@ export async function prepareDelegateTaskArgs(args: Record, ctx return { category, subagent_type: subagentType, + requested_subagent_type: originalSubagentType, description, prompt, run_in_background: runInBackground === true, diff --git a/src/tools/delegate-task/types.ts b/src/tools/delegate-task/types.ts index 9eff782ce..affd81983 100644 --- a/src/tools/delegate-task/types.ts +++ b/src/tools/delegate-task/types.ts @@ -14,6 +14,7 @@ export interface DelegateTaskArgs { prompt: string category?: string subagent_type?: string + requested_subagent_type?: string run_in_background: boolean task_id?: string command?: string diff --git a/src/tools/delegate-task/unstable-agent-task.ts b/src/tools/delegate-task/unstable-agent-task.ts index 7afffdeee..bc4011fbe 100644 --- a/src/tools/delegate-task/unstable-agent-task.ts +++ b/src/tools/delegate-task/unstable-agent-task.ts @@ -74,6 +74,7 @@ export async function executeUnstableAgentTask( prompt: args.prompt, agent: agentToUse, category: args.category, + ...(args.requested_subagent_type !== undefined ? { requested_subagent_type: args.requested_subagent_type } : {}), load_skills: args.load_skills, description: args.description, run_in_background: args.run_in_background,