Codex Desktop: completed closeout turns looked missing/backwards after cross-thread/projectless workflow

Open 💬 0 comments Opened Jun 7, 2026 by lionhead-head

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

  1. User worked in a long project thread for a Simiri season.
  2. User also opened/used a separate projectless thread for installing and setting up OpenScreen.
  3. In the OpenScreen/projectless thread, user uploaded/referenced a demo recording and asked Codex to write a tweet.
  4. 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.
  5. User returned to the original Simiri project thread expecting the already-output closeout conversation and prompt to be there.
  6. Instead, the Simiri thread history jumped from an earlier “servers refreshed” turn to the user's later complaint about the chat being backwards.
  7. codex_app.read_thread on the Simiri thread showed no closeout/tweet/prompt turns between those points.
  8. Searching local Codex global state showed the relevant prompt history under the separate OpenScreen thread.
  9. 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.

View original on GitHub ↗