"Branch in new chat" can cause archived chats to become undeletable
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
What version of the Codex App are you using (From “About Codex” dialog)?
26.901.51231
What subscription do you have?
Plus
What platform is your computer?
Microsoft Windows NT 10.0.19045.0 x64
What issue are you seeing?
Creating a new conversation with the “Branch in new chat” button at the bottom of a chat can break archived-chat deletion.
If the branched chat is archived first, it may disappear immediately instead of appearing in the Archived chats list. After the original chat is archived, the original chat appears in Archived chats, but clicking Delete fails and the archived chat cannot be removed.
This appears to leave the parent chat and its branched descendant in an inconsistent archive/index state.
What steps can reproduce the bug?
- Create a parent task A.
- Use the chat menu to create a forked task B from A.
- Archive B. B disappears from the archived-task list instead of appearing there.
- Archive A. A appears in the archived-task list.
- Try to delete A from the archived-task list. The deletion fails.
What is the expected behavior?
- B should appear in Archived chats after being archived.
- Deleting A should permanently delete A and its branched descendant B.
Additional information
Actual behavior:
- B disappears after archive and is not listed in Archived chats.
- A appears in Archived chats, but cannot be deleted.
- Restarting the latest Codex Desktop app does not resolve the issue.
This is unrelated to Git branches or worktrees. The trigger is the chat-level “Branch in new chat” feature.
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 issue through the “Branch in new chat” flow and the archive/delete actions described in the steps. Trace how the branched chat and its parent are represented in the archived-chat list and index state. Done means B remains visible after archiving, and deleting A successfully removes A and its branched descendant B.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100