fork_context:true subagents continue parent-thread work instead of following delegated prompt
Feedback ID: 019e21d3-c7c2-7333-8929-fe9761584515
Summary
fork_context: true subagents sometimes fail to treat the new delegated prompt as the active task. Instead, they appear to inherit the parent thread's active role/work and continue it as if they are the main thread, even when the prompt explicitly says they are the delegated subagent.
This is very disruptive for workflows that use a main/control thread to delegate bounded work to subagents. The subagent should use inherited context as background, but it must understand that the new prompt is the active instruction and that it is the subagent, not the parent thread.
Expected behavior
When a subagent is spawned with fork_context: true:
- It can use inherited conversation context as reference/background.
- It treats the new subagent prompt as the active task boundary.
- It understands that it is the delegated worker/reviewer/planner/etc.
- It does not continue old parent-thread requests such as “spawn a subagent”, “continue the previous task”, or “act as the main/control thread”.
Actual behavior
The subagent can interpret inherited parent-thread context as still-active instruction. In particular, it may:
- Think it is the main/control thread rather than the delegated subagent.
- Try to spawn another subagent instead of doing the delegated work itself.
- Continue or resume work from the parent thread rather than following the prompt it was just given.
Why this matters
For multi-agent workflows, fork_context: true is useful because the worker benefits from strategic/background context. But if the inherited context is not clearly separated from the active delegated prompt, the worker becomes unreliable and can take the wrong role.
The workaround is to add very explicit boundary text to every forked subagent prompt, e.g. “You are already the delegated X agent; you are not the main/control agent; inherited context is reference only.” That helps, but it should not need to be repeated so heavily by users.
Requested improvement
Please make fork_context: true subagent launches have a stronger built-in task boundary, so the model understands:
- inherited context is background/reference;
- the new subagent prompt is the active instruction;
- the subagent's role is the delegated role in that prompt, not the parent thread's role;
- previous parent-thread tool/task requests are not active unless restated in the subagent prompt.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗