Skip to content

Windows desktop app: deleted chats remain as stale entries in Recents and can’t be removed #41880

Open

Description

@James-Moore

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

Version 26.825.51511

What subscription do you have?

Pro

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Product/Surface: ChatGPT surface in OpenAI Windows desktop app (OpenAI.Codex)
OS: Windows 11 Pro build 26200
App package: OpenAI.Codex 26.825.6671.0
App version: 26.825.51511
Network: No VPN

Summary:
Deleting a chat from Recents can fail for some entries within the list for seemingly no reason. At times the Windows desktop app will show a error "Failed to Delete Chat" as a red slide down message at the top of the screen. The chat list item remains in the "Recents" section in ChatGPT mode. This can occur for chats within the list that have no error icons next to the chat name, but also can occur for chats that do have a red "info" icon showing up next to the chat name in the Recents list.

Steps to reproduce:
Open ChatGPT in the Windows desktop app
Select a chat under Recents (example: “Lease Repair Options”)
Delete → confirm “Delete chat”
Chat sometimes remains in Recents
Click the stale entry or try deleting it again

Expected:
Chat disappears from Recents immediately and stays removed.

Actual:
Stale chat remains in Recents and cannot be removed. Errors include:
“Could not load this ChatGPT conversation”
“Failed to delete chat”
{"detail":{"message":"Conversation has been deleted. Start a new chat.","code":"conversation_deleted","can_retry"}}

Frequency/Impact:
Intermittent; long-standing; leaves unusable “dead” items in Recents and creates confusing load/delete failures.

Troubleshooting attempted (no fix):
Force quit/relaunch, Sign out/in, Update desktop application

Attachments:
3 screenshots (delete confirmation; stale entry with failures; server response confirming conversation already deleted).

What steps can reproduce the bug?

Feedback ID: 01a05899-f74e-7b71-988a-e4a6a1d1fc4e

What is the expected behavior?

Chat disappears from Recents immediately and stays removed.

Additional information

Image Image Image Image

Activity

  1. added
    appIssues related to the Codex desktop app
    on Aug 31, 2026
  2. added
    bugSomething isn't working
    windows-osIssues related to Codex on Windows systems
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on Aug 31, 2026
  3. lwchang018 commented on Sep 7, 2026

    @lwchang018

    I can independently reproduce this issue on Windows 11 in the ChatGPT surface of the OpenAI desktop app.

    Two conversations that were already deleted still appear in the desktop client sidebar, while neither appears in the ChatGPT web sidebar. Opening the stale entries shows Unable to load conversation or Conversation not found.

    Affected conversation IDs (redacted):

    • 6a996dbc-…-af12
    • 6a996b5b-…-5fa2

    One of the stale entries also appeared twice in the client list. This strongly suggests stale local catalog/sidebar state or a synchronization/invalidation failure after the underlying cloud conversations were deleted.

  4. oshonsoft commented on Sep 9, 2026

    @oshonsoft

    I can confirm the same issue on Windows Desktop.

    In my case, I deleted several ChatGPT conversations using the browser interface while spending a few hours reorganizing my chats into ChatGPT Projects.

    Four deleted conversations remained permanently visible under Recents in the Windows desktop app.

    For each affected entry:

    • The conversation no longer exists on chatgpt.com.
    • Clicking it in the desktop app gives “Could not load this ChatGPT conversation”.
    • Attempting to delete it from the desktop app gives “Failed to delete chat”.
    • Restarting the desktop app does not remove the stale entries.
    • Other newly created/deleted conversations behave normally.

    I submitted feedback from the desktop app while one of the affected entries was selected.

    Feedback ID:

    no-active-thread-01a085b4-a2ee-7e43-9ba6-4279a9d1d6ff

    This appears to be a synchronization/reconciliation problem where server-deleted ChatGPT conversations remain in the desktop Recents catalog.

  5. oshonsoft commented on Sep 9, 2026

    @oshonsoft

    One additional observation may help narrow this down.

    Before the current four stale entries were created, I had reproduced a broader browser → Windows Desktop synchronization problem repeatedly: conversations deleted through the browser would remain visible in the Desktop app.

    That general behavior was fixed by a Desktop app update a couple of days later. Newly tested conversations then synchronized correctly.

    However, these four conversations, which had already become stale during the affected period, survived the update and remain permanently visible in Recents.

    This suggests the current delete/synchronization path may already have been fixed, while previously-created orphaned Recents entries are not being reconciled or garbage-collected.

    The four affected conversations were deleted during a several-hours-long operation in which I was also reorganizing many conversations into ChatGPT Projects, so project-membership/history may additionally be relevant.

  6. hausorilla-wq commented on Sep 12, 2026

    @hausorilla-wq

    I am experiencing exactly the same issue with OpenAI.Codex package 26.825.6671.0 on Windows 11 25H2.

    The affected chats are already deleted server-side and no longer appear in the web or mobile apps, but remain as stale entries in Recents in the Windows desktop app. Clicking them results in “Could not load this ChatGPT conversation”.

    My in-app diagnostic feedback ID is:

    no-active-thread-01a09477-e672-7b21-ad04-2019a8582199

  7. Huixvan-Li commented on Sep 12, 2026

    @Huixvan-Li

    I can reproduce the same issue on Windows.

    If I delete a ChatGPT conversation from the web version or another device, the conversation sometimes remains visible in the desktop app.

    When I click the stale conversation, the app shows:

    “Unable to load this ChatGPT conversation.”

    If I then try to delete the conversation from the desktop app, it shows:

    “Failed to delete chat.”

    The conversation has already been deleted successfully on the server/web side, but the desktop app keeps a stale/ghost entry and cannot remove it.

    Steps to reproduce:

    Have the same ChatGPT account signed in on the desktop app and Web/another device.
    Delete a conversation from ChatGPT Web or another device.
    Return to the desktop app.
    The deleted conversation may still appear in the conversation list.
    Click it → the conversation cannot be loaded.
    Try to delete it → “Failed to delete chat.”

    Expected behavior:
    When a conversation has already been deleted server-side, the desktop app should automatically remove the stale entry from its conversation list. A conversation_deleted / 404 response should also be treated as successful deletion for purposes of cleaning up the local UI.

    Image
  8. oshonsoft commented on Sep 15, 2026

    @oshonsoft

    Update after the latest Windows desktop app release:

    Previously orphaned/ghost chats can now be deleted manually, which is an improvement.

    However, browser → desktop deletion synchronization appears to be broken again.

    Reproduction:

    1. Create/open a chat so it appears in the Windows desktop app.
    2. Delete that chat using the browser interface.
    3. Restart the desktop app.
    4. The deleted chat still remains in Recents.
    5. Opening it gives “Could not load this ChatGPT conversation”.
    6. Manual deletion from the desktop app now succeeds.

    So the current state appears to be:

    • Manual deletion of orphaned Recents entries: fixed
    • Automatic reconciliation of browser-side deletions: still broken/regressed

    At the moment, manually deleting stale Recents entries seems to be the only way to restore consistency.

  9. neko9210x commented on Sep 27, 2026

    @neko9210x

    I can reproduce this consistently on the Windows desktop app, and I did some additional inspection of the local SQLite catalog / WAL that may help narrow down the issue.

    Reproduction

    1. Create a conversation on mobile.
    2. Confirm that it appears in the Windows desktop app.
    3. Delete the conversation on mobile.
    4. The conversation remains visible in the Windows "Recents" list.
    5. Clicking it results in "Could not load this ChatGPT conversation".
    6. Deleting the same stale entry again from the Windows app finally removes it.

    Reinstalling the Windows app did not resolve the issue.

    Local catalog observations

    The desktop app stores the conversation catalog in:

    %USERPROFILE%\.codex\sqlite\codex-dev.db

    The stale conversation is present in local_thread_catalog.

    For one older ghost conversation, I observed:

    missing_candidate = 0
    

    After a later full reconciliation, the same row changed to:

    missing_candidate = 1
    

    However, the row was still retained in local_thread_catalog, and the conversation continued to appear in Recents.

    This suggests that the reconciliation process can detect that the conversation is missing from the server, but does not immediately prune the local catalog entry.

    I also tested a fresh conversation while inspecting the SQLite WAL:

    mobile create
    → desktop receives the conversation
    
    mobile delete
    → desktop catalog still retains the conversation
    
    desktop delete
    → local_thread_catalog entry is removed
    

    So the local cleanup path seems to work when deletion is initiated from the desktop itself, but not when the deletion originates from another client.

    Possible fix direction

    It may be worth treating an authoritative server-side "conversation deleted / does not exist" result as an idempotent deletion success and cleaning the local catalog entry immediately.

    For example:

    remote delete succeeded
    OR
    server confirms conversation_deleted / terminal 404
    → remove local_thread_catalog row
    → update catalog revision
    → invalidate Recents
    

    For reconciliation cases where the conversation is only absent from a listing, missing_candidate still makes sense as a two-step safety mechanism. But if the server explicitly confirms deletion, the entry probably should not remain as a ghost item.

    This looks less like a rendering issue and more like incomplete cross-client deletion reconciliation between the server state and local_thread_catalog.

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, archivingwindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions