New user prompt disappears after opening a subagent from message history in Ultra multi-agent mode
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop app version not captured. I can provide it if needed.
What subscription do you have?
Not provided.
What platform is your computer?
macOS on Apple Silicon (arm64).
What issue are you seeing?
In Ultra reasoning mode with multi-agent collaboration enabled, a newly submitted user guidance message can disappear from the main conversation view after opening a subagent from a historical message.
This occurs while the main task and its subagents are still actively running: I type a guidance message in the main composer and press Enter to send it. The message initially appears in the main conversation, then disappears after the navigation action below.
The issue is specific to the navigation path:
- After pressing Enter to send a new guidance message during active execution, clicking a subagent reference in an older/historical message opens that agent in the sidebar and causes the newly sent user message to disappear from the main transcript.
- Opening the same subagent directly from the sidebar does not cause the newly sent user message to disappear.
This makes the main conversation UI unreliable during multi-agent work. It is unclear from the UI whether the prompt merely became hidden or whether it was also lost from the active task context.
What steps can reproduce the bug?
- Start a Codex Desktop task with Ultra reasoning and multi-agent collaboration enabled.
- Let the task create at least one subagent, and keep the main task/subagents running.
- While execution is still in progress, type a new user guidance message in the main composer and press Enter to send it.
- Confirm that the newly sent user message appears in the main message area.
- In an older/historical message, click the referenced subagent so that the subagent opens in the sidebar.
- Observe that the user guidance message sent in step 3 disappears from the main conversation area.
- Repeat the test, but open the same subagent directly from the sidebar instead of from the historical message.
What is the expected behavior?
Opening a subagent from either a historical message or the sidebar should not remove or hide any already-sent user message from the main conversation transcript.
Both navigation paths should preserve the same conversation state, including the most recently submitted guidance message.
Additional information
- The issue was observed specifically during Ultra-mode multi-agent collaboration.
- The direct-sidebar path acts as a control case: it opens the agent without causing the newly sent user message to disappear.
- No sensitive prompts, task IDs, repository paths, or logs are included in this report.
2 Comments
I can confirm this bug and add a deterministic root-cause finding.
Environment:
26.707.62119(5211)26.707.72221(5307) bundle contains the same affected code path.This is not limited to opening a subagent from a historical message. I can also reproduce it by opening a subagent detail panel, returning to the parent, and entering the detail again while the parent turn is still running.
The sequence is:
The message is not lost. The parent rollout still contains it as both:
response_itemwithrole: "user"; andevent_msgwithtype: "user_message".Inspection of the installed renderer bundle shows that the live message is represented as a visible
steeringUserMessage. After navigation, the parent transcript is rebuilt from server history with:The converter then changes the persisted mid-turn
userMessageinto asteeredmarker. Once the optimisticsteeringUserMessageis gone, no visible user bubble remains.A likely fix is to preserve server user messages when building visible local-conversation turns, or at least avoid converting a non-duplicate server
userMessageinto an invisible marker. The converter already has optimistic/server deduplication logic.Suggested regression coverage:
thread/readhydration.This has significant impact on long-running agent and subagent workflows. Immediate steering becomes increasingly common as turns grow longer; hiding the user's instruction while retaining the response breaks the visible causal chain and makes the conversation difficult to understand or audit.
I can reproduce this on the current Windows Codex Desktop build.
Environment:
26.818.2441.0151.0.7922.170Microsoft Windows NT 10.0.26200.0 x64Observed sequence:
In this reproduction, local thread inspection showed multiple parent turns remaining
inProgressat the same time after the navigation sequence. This makes the symptom more severe than a single hidden bubble: the visible parent state and active-turn ownership appear desynchronized.Control/workaround:
Expected:
No repository paths, task identifiers, prompts, screenshots, or private logs are included. I can provide sanitized diagnostics if maintainers specify what fields are useful.