[macOS][Chat] Server-deleted conversations repopulate in Recents and cannot be removed
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 HTTP404. - Delete:
DELETE /conversation/id/<redacted-id>returns HTTP404and the UI shows Failed to delete chat. - Archive/unarchive:
PATCH /conversation/<redacted-id>returns HTTP404and 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?
- Delete ordinary ChatGPT conversations so that they are no longer present on the server-facing web and mobile clients.
- Confirm that the conversations are absent on
chatgpt.comand mobile using the same account. - Open the unified ChatGPT desktop app on macOS and select Chat.
- Observe that deleted conversation titles remain or repopulate under Recents.
- Select an affected entry. It does not open; the request returns
404 conversation_deleted. - Try Delete. The app shows Failed to delete chat, and the DELETE request returns the same terminal 404.
- Try Archive. The app shows Failed to archive conversation, and the PATCH request returns the same terminal 404.
- Fully quit the app, remove its Cache, Local Storage, Session Storage, and cookies, then restart it.
- 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
~/.codexsession 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
- #37580 reports ordinary Chat conversations stuck loading on macOS while they remain valid on web. Here the conversations are already deleted server-side, web/mobile are clean, and the macOS Recents index continues surfacing tombstoned entries.
- #28276 reports a generic archive failure involving unexpected Codex/Desktop threads. Here the affected items are ordinary Chat conversations and all operations fail with the specific server response
conversation_deleted.
Useful fixes would include:
- reconciling Recents against conversation-deletion tombstones;
- removing a stale entry when open/delete/archive receives terminal
conversation_deletedwithcan_retry:false; and - exposing an explicit Recents refresh/rebuild path if automatic reconciliation cannot converge.
8 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
I have the same problem after the update.
I’m seeing the same issue on macOS. A normal ChatGPT web conversation was deleted successfully and is gone from chatgpt.com and search, but it remains as an orphaned entry in the desktop app’s Recents list.
I’ve already tried sign-out/sign-in, reinstalling the app, and removing Cache, HTTP storage, Local Storage, and Session Storage. The orphan entry remains/reappears.
This appears consistent with the stale remote Recents/index behavior described in this issue.
Sure — I’m seeing the exact same behavior here. The deleted conversation is gone from the web app and search, but it still remains in the macOS desktop Recents list even after reinstalling and clearing local storage/cache.
So this also looks like a stale remote Recents/index sync issue rather than a local cache problem. I suspect we’ll probably have to wait for a desktop app update to fix it.
I also haven’t tried switching back to the Classic version yet, so I can’t confirm whether the issue appears there as well.
Quick update: I’ve now tested ChatGPT Classic on the same Mac/account.
The orphaned deleted conversations do not appear there — the Recents list looks normal in Classic. So at least in my case, the issue seems specific to the new macOS desktop app / its Recents implementation, rather than the account’s normal chat history itself.
same issue, only on unified desktop, not on classic.
Update: confirmed local catalog persistence and repeatable workaround
I have now reproduced and repaired this several times on the same Mac/account. The issue is still present on ChatGPT Desktop
26.820.60940(build7119).Confirmed finding
The affected ChatGPT entries are present in the unified app's local conversation catalog:
The exact IDs that returned
404 conversation_deletedwere found assource_kind='chatgpt'rows in this table. This explains why clearing Electron Cache, Local Storage, Session Storage, HTTP storage, and cookies did not help: those operations do not clear this catalog.The issue has recurred across multiple cleanup/restart cycles, with different batches of locally cataloged ChatGPT rows (including batches of 19, 4, 9, 8, and 24). The local cleanup succeeds, but startup/full or incremental sync can repopulate entries. Rows for conversations that still legitimately exist on the server are expected to return; the bug is that terminally deleted conversations can return or remain as undeletable ghost entries too.
Workaround that cleared the UI
This is an unsupported local workaround, not a product fix. Fully quit the unified ChatGPT app before modifying the database, and back up the database first if the local catalog matters to you.
For one confirmed-deleted conversation, the narrow form is:
In this account the intended Chat Recents list was empty, so the bulk variant used was:
Important behavior observed during verification:
source_kind='chatgpt'rows produced a stable count of zero during the verification window.PRAGMA integrity_checkreturnedokafter each repair.conversation_deleted,can_retry:false.Likely missing product behavior
The desktop synchronization/reconciliation path should propagate conversation-deletion tombstones into
local_thread_catalog. In addition:GET,DELETE, orPATCHreturning404 conversation_deletedwithcan_retry:falseshould invalidate and dismiss the corresponding local row;This finding is consistent with #39897, but the repeated cleanup cycles here also demonstrate the interaction between the local catalog, sync watermarks, restart-time repopulation, and the need for a second reconciliation pass in some cases.
No conversation IDs, titles, account/user IDs, email addresses, tokens, cookies, or personal paths are included in this update.
Same issue here.
Environment:
Issue