Allow side conversations to send an explicit handoff to their parent thread
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What problem would this solve?
A Codex side conversation can investigate a question and produce a useful implementation recommendation while the main thread continues working. However, the side conversation may have no callable thread-management capability for returning that result to its parent.
In the observed session, the user explicitly asked the side conversation to communicate its findings and implementation recommendation to the main thread. The side conversation inspected its available tool catalog, but neither send_message_to_thread nor a parent-scoped equivalent was available. The only workaround was to format a handoff for the user to copy manually.
This makes side conversations less useful for parallel exploration: they can derive the answer, but cannot reliably close the loop with the task that needs it.
Suggested behavior
Expose a narrowly scoped operation such as:
send_message_to_parent_thread({
message,
delivery: "queued"
})
The operation should:
- target only the side conversation's known parent, without requiring discovery of arbitrary thread IDs;
- require explicit user intent before an effectful send;
- default to queued/non-interrupting delivery when the parent is busy;
- start a normal turn when the parent is idle, or optionally support an inbox-only handoff;
- return a durable delivery receipt or a clear failure state;
- identify the message in the parent as coming from its side conversation.
A parent-scoped operation would satisfy the common handoff workflow with a smaller authority surface than exposing unrestricted cross-thread messaging inside every ephemeral side conversation.
Reproduction
- Open a main Codex Desktop thread.
- Start a side conversation.
- Ask the side conversation to investigate a bounded question.
- Ask it to send its findings and recommendation back to the main thread.
- The side conversation inspects its callable tools.
- No
send_message_to_thread, parent-thread handoff, or equivalent capability is available. - The user must copy and paste the handoff manually.
Expected behavior
With explicit user authorization, the side conversation should be able to deliver a concise handoff to its parent thread without interrupting active work or gaining general access to unrelated threads.
Related issues
- #38609 covers intermittent failure after
send_message_to_threadis available and called; this report covers the capability being absent. - #40865 covers missing effectful inter-task tools in Desktop Remote SSH more broadly.
- #41580 includes side-chat coordination as one part of a larger cross-host/update regression.
- #30499 requests queued delivery semantics for cross-thread messages.
This request is intentionally narrower: provide a reliable, least-authority side-conversation-to-parent handoff path.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the side-conversation workflow in Codex Desktop and inspecting the callable tool catalog, then review related issues #38609, #40865, #41580, and #30499. The work is done when an explicitly authorized side conversation can deliver a queued, parent-scoped handoff with a durable receipt or clear failure state without accessing unrelated threads.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ai, desktop-dev, devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100