Skip to content

[macOS][Chat] Server-deleted conversations repopulate in Recents and cannot be removed #40219

Description

@ShalevZorany

What version of the Codex App are you using (From “About Codex” dialog)?

ChatGPT unified desktop app 26.818.41705 (build 6971).

What subscription do you have?

Paid individual ChatGPT plan.

What platform is your computer?

Darwin 25.6.0 arm64 arm

What issue are you seeing?

Product / surface

  • Unified ChatGPT desktop app for macOS
  • Chat tab / ordinary ChatGPT conversations
  • Not Work mode
  • Not Codex mode

Dozens of conversations that have already been deleted server-side remain or repopulate as stale entries in the macOS Recents sidebar. The same account is clean on chatgpt.com and mobile: the deleted conversations are absent there.

The stale macOS entries cannot be opened, deleted, or archived:

  • Open: GET /conversation/<redacted-id> returns HTTP 404.
  • Delete: DELETE /conversation/id/<redacted-id> returns HTTP 404 and the UI shows Failed to delete chat.
  • Archive/unarchive: PATCH /conversation/<redacted-id> returns HTTP 404 and the UI shows Failed to archive conversation.

Every sampled response is terminal and consistent:

{
  "message": "Conversation has been deleted. Start a new chat.",
  "code": "conversation_deleted",
  "can_retry": false
}

Four distinct affected conversation entries were captured in the desktop logs; all four returned conversation_deleted. The sidebar contains dozens of affected entries in total.

Controlled comparison

Client / surface Result
chatgpt.com web, same account Deleted conversations are absent
Mobile app, same account Deleted conversations are absent
macOS unified desktop app → Chat → Recents Dozens of deleted titles remain/repopulate

This does not look like ordinary local cache residue. After Cache, Local Storage, Session Storage, and cookies were removed and the app was fully restarted, the clean client subscribed to the remote conversations and alder-conversations topics. The deleted titles then repopulated in Recents and continued returning the same terminal 404 responses.

The evidence suggests a stale remote Recents/conversation-index entry or a missing tombstone-reconciliation path in the macOS client. This is an inference from the comparison and logs, not a confirmed root cause.

What steps can reproduce the bug?

  1. Delete ordinary ChatGPT conversations so that they are no longer present on the server-facing web and mobile clients.
  2. Confirm that the conversations are absent on chatgpt.com and mobile using the same account.
  3. Open the unified ChatGPT desktop app on macOS and select Chat.
  4. Observe that deleted conversation titles remain or repopulate under Recents.
  5. Select an affected entry. It does not open; the request returns 404 conversation_deleted.
  6. Try Delete. The app shows Failed to delete chat, and the DELETE request returns the same terminal 404.
  7. Try Archive. The app shows Failed to archive conversation, and the PATCH request returns the same terminal 404.
  8. Fully quit the app, remove its Cache, Local Storage, Session Storage, and cookies, then restart it.
  9. Observe that the clean app subscribes to the remote conversation topics and the same deleted titles repopulate.

Reproduction rate for the four sampled entries: 4/4. The issue has persisted through sign-out/sign-in, full app restarts, and local web-storage/cache removal.

What is the expected behavior?

Server-deleted conversations should not remain in or repopulate the macOS Recents list.

If a stale Recents entry resolves to the terminal conversation_deleted response, the client/index reconciliation path should remove that entry. Delete or archive requests that encounter this tombstone could be treated as an idempotent cleanup success for the sidebar instead of leaving an undeletable entry and displaying a retryable-looking failure toast.

The Recents index should converge with the authoritative conversation state used by web and mobile.

Additional information

Sanitized diagnostic excerpt

2026-08-23T07:14:11.162Z
method=DELETE
route=/conversation/id/<conversation-A>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false}

2026-08-23T07:14:23.279Z
method=GET
route=/conversation/<conversation-A>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false,"conversation_id":"<redacted>"}

2026-08-23T07:14:31.367Z
method=GET
route=/conversation/<conversation-B>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false,"conversation_id":"<redacted>"}

2026-08-23T07:14:34.224Z
method=GET
route=/conversation/<conversation-C>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false,"conversation_id":"<redacted>"}

2026-08-23T07:15:40.460Z and 2026-08-23T07:15:43.057Z
method=PATCH (archive/unarchive attempts)
route=/conversation/<conversation-A>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false}

2026-08-23T07:54:37.619Z
method=DELETE
route=/conversation/id/<conversation-D>
status=404
response={"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry":false}

2026-08-23T07:56:16.479Z
event=chatgpt_pubsub_topic_subscribed
topicId=conversations
catchupCount=0
hadPreviousOffset=false
recovered=false

2026-08-23T07:56:16.479Z
event=chatgpt_pubsub_topic_subscribed
topicId=alder-conversations
catchupCount=0
hadPreviousOffset=false
recovered=false

Troubleshooting already completed

  • Verified the same single account is used on macOS, web, and mobile.
  • Verified web and mobile do not show the affected conversations.
  • Signed out and back in.
  • Fully quit and restarted the desktop app.
  • Removed desktop Cache, Local Storage, Session Storage, and cookies, then performed a clean restart.
  • Retested open, delete, and archive against multiple distinct entries.
  • Did not modify or delete local Codex projects or ~/.codex session data; the affected items are ordinary Chat conversations.

Public-report privacy

Conversation IDs, titles, contents, account identifiers, email addresses, local paths, log filenames, cookies, tokens, and unrelated events are intentionally omitted. Exact affected IDs and a fuller sanitized diagnostic excerpt have been supplied privately to OpenAI Support. A support case is open and its number can be provided privately.

Related but not duplicate

Useful fixes would include:

  1. reconciling Recents against conversation-deletion tombstones;
  2. removing a stale entry when open/delete/archive receives terminal conversation_deleted with can_retry:false; and
  3. exposing an explicit Recents refresh/rebuild path if automatic reconciliation cannot converge.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingsessionIssues involving session (thread) management, resuming, forking, naming, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions