Support parent/child task workflows with summarized handoffs
What problem are you trying to solve?
For long-running engineering projects, a single Codex task can become too large even when the work is conceptually one project. In practice, the project often has one stable main thread that owns the overall direction, decisions, and final outputs, plus multiple complex subtasks that each require their own multi-turn discussion and iteration.
Today, there are a few partial workarounds:
- Keep everything in one task, which preserves continuity but eventually creates a very large session with lots of stale detail.
- Start separate tasks manually, which keeps each subtask cleaner but loses an explicit parent/child relationship and requires the user to manually summarize results back into the main task.
- Use subagents, which are helpful for bounded parallel work, but feel closer to delegated one-off work than a durable child task where the user can have a rich multi-turn conversation.
Proposed solution
Add first-class support for a parent/child task workflow in Codex:
- A parent task can create or link child tasks for specific subprojects or experiments.
- Each child task has its own transcript, workspace state, and possibly worktree, so it can support a full multi-turn discussion without polluting the parent context.
- When a child task reaches a checkpoint or completion, Codex generates a structured handoff summary back to the parent task.
- The parent task can see child task status, key decisions, changed files, outputs, risks, and next actions without ingesting the entire child transcript.
- The user can reopen a child task for further iteration, while the parent continues to hold the project-level state.
Why this matters
This would fit workflows like:
- A large data-mining or evaluation pipeline where each filter experiment needs several rounds of discussion and review.
- Product/engineering planning where the main task owns the roadmap, while child tasks explore implementation, prompt design, evaluation, or data quality.
- Larger refactors where independent modules can be investigated separately, then summarized back into an architecture-level thread.
The key distinction is that these subtasks are not always one-shot agent delegations. They may require real user-agent collaboration over multiple turns, but the parent task should not have to carry every exploratory detail forever.
Suggested handoff shape
A child-to-parent handoff could include:
- Objective and final status.
- Decisions made.
- Important assumptions.
- Files changed or artifacts produced.
- Verification performed.
- Known risks or open questions.
- Recommended next step.
Alternatives considered
Manual context files and summaries can work, but they rely on user discipline and are easy to forget during active investigation. Subagents are useful for parallel bounded tasks, but they do not fully replace a durable child conversation that can be reviewed, resumed, and summarized into the main project thread.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Thanks for pointing to
spawn_agent. I agree it covers an important part of this workflow, especially for bounded delegation where the parent task can send a focused prompt and get a summarized result back.The gap I am trying to describe is slightly different: some subtasks are not one-shot delegations. They need their own user-agent multi-turn discussion, review, and iteration, while still remaining attached to a parent project task.
A concrete distinction:
spawn_agentworks well as an execution primitive: isolated context in, summarized result out.So I think
spawn_agentcould be the right underlying mechanism, but the missing piece is first-class parent/child task orchestration:If this is already possible through
spawn_agentoptions or existing Codex UI/CLI affordances, a short example would be very helpful. The key need is not just parallel execution, but durable, reviewable subtask conversations with summarized parent handoff.I have been exercising this parent/child-task workflow in Codex Desktop and
published a small, runnable reference implementation:
https://github.com/alchemistklk/caprika-agent-lab/tree/main/skills/issue-to-thread
It uses a two-stage model:
to-issuesturns an approved plan into reviewed vertical-slice issues.issue-to-threadassigns exactly one approved issue to a clean child taskwith a bounded execution brief and a structured closeout callback.
The skill is intentionally not a replacement for native Codex task tooling.
It leaves task creation, messaging, naming, and archiving to Codex. Its small
local script only validates deterministic parts of the contract. Building it
made the product gaps in this issue concrete.
The recurring failure modes are:
delegation source ID, but the parent handle is not an explicit field that a
workflow can reliably validate and target for its closeout callback.
acknowledged structured callback rather than an instruction that it may
forget to follow.
all required validation while its sandbox makes
.gitread-only. It shouldreport
execution=done,validation=passed, anddelivery=parent-action-required, not incorrectly reportblocked.later automatic naming, which weakens both routing and lifecycle visibility.
One possible native shape would be an issue-backed child-task creation flow
with explicit fields such as:
At closeout, the app could expose a typed result instead of only prose:
The parent would then receive an acknowledged callback, see the child's actual
sandbox capability (including
.git), and decide any remaining commit, review,merge, or archive action. That preserves the isolation and durable task model
proposed here while removing the fragile parts that currently have to live in
prompts and local conventions.
The public skill includes the brief template and a zero-dependency validator:
https://github.com/alchemistklk/caprika-agent-lab/blob/main/skills/issue-to-thread/SKILL.md