Codex Desktop: completed closeout turns looked missing/backwards after cross-thread/projectless workflow
Summary
A Codex Desktop user returned to an active project thread to copy a season-close prompt that had already been output in chat, but the visible thread appeared to have gone backwards: the final closeout conversation, demo-video-derived tweet, and copy-paste pickup prompt were not present where the user left them.
I investigated from inside Codex using the thread-history tools and local state. The missing content was not actually deleted, but it was attached to a different Codex thread/workspace (Install openscreen safely) rather than the project thread the user expected (Prove realtime merchant-user link). From the user's perspective, previously outputted chat history disappeared without a trace.
This is a serious UX/data-continuity issue because the user relied on completed Codex chat output as durable working context.
Environment
- Product: Codex Desktop
- OS: macOS 26.5, arm64
- Codex version file reports latest_version:
0.130.0 - Project thread id:
019e9da5-e388-71b1-97a7-b6b82ee4d368 - Other/thread where missing closeout was found:
019e9eea-475f-7e80-805d-14f8c38dd7d7
What Happened
- User worked in a long project thread for a Simiri season.
- User also opened/used a separate projectless thread for installing and setting up OpenScreen.
- In the OpenScreen/projectless thread, user uploaded/referenced a demo recording and asked Codex to write a tweet.
- The same projectless thread then continued into Simiri season closeout work: checking last two days' tasks, evaluating merchant-sync proof, importing a data-collection spec, creating closeout/pickup docs, adding hackathon track, and finally pasting a full next-season prompt in chat.
- User returned to the original Simiri project thread expecting the already-output closeout conversation and prompt to be there.
- Instead, the Simiri thread history jumped from an earlier “servers refreshed” turn to the user's later complaint about the chat being backwards.
codex_app.read_threadon the Simiri thread showed no closeout/tweet/prompt turns between those points.- Searching local Codex global state showed the relevant prompt history under the separate OpenScreen thread.
- Reading the OpenScreen thread recovered the missing tweet, closeout instructions, closeout file creation, hackathon prompt, and final copy-paste prompt.
Evidence Pattern
- The Simiri/project thread contained the active work before and after, but not the closeout turn sequence the user expected.
- The separate OpenScreen/projectless thread contained the missing sequence.
- The user-facing app made this look like history was lost or reordered rather than clearly indicating the closeout was in another thread/workspace.
- One closeout patch initially landed in the projectless workspace before being corrected into the intended repo, which likely contributed to the cross-thread confusion.
Expected Behavior
Completed chat turns and final assistant outputs should remain discoverable in the thread where the user expects them, or Codex should clearly indicate when execution/context has moved to another thread/workspace. A user should not experience completed prompt output as silently missing/backwards.
Actual Behavior
The user saw an earlier project thread state without the later closeout conversation. The only way to recover context was to search local Codex state and manually inspect a different thread.
Impact
High. The lost-looking output included operational handoff context and a full next-season startup prompt. This can cause users to lose trust in Codex as a durable coding/workflow partner.
Suggested Improvements
- Surface cross-thread continuation warnings when a projectless thread edits a project repo or produces handoff/pickup docs for another workspace.
- Add a visible “related thread / moved context” pointer when a thread's prompt history or edits reference another workspace.
- Improve thread search so exact output text like a tweet or pickup prompt can find the thread containing it.
- Provide a built-in recovery/export path for recent completed turns, especially after compaction.
- Avoid making compaction/thread paging look like chronological rollback in the UI.
Notes
I am filing this from the user's explicit request after recovering the missing context. I intentionally omitted private file paths and media details from this public issue.