You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow to delete threads instead of just archiving them.
Context
At the moment I have to go to ~/.codex/archived_sessions/, locate the file related to the thread I want to delete and manually delete it. I'd appreciate having the option to do that from the UI instead.
Proposed solutions
A delete button showing in the UI next to the archive button in the Threads section of the sidebar
A delete option in the thread context menu below the "Archive thread" item
A button to delete a thread next to the unarchive button on the "Settings/Archived threads" screen
Yes, please. It’s really annoying to have to see a lot of old threads that are now useless. The only way to hide them is by archiving them, but that’s just like moving the dust under the carpet — it’s not a real solution.
Reacted by Charles Karol Gancarz, vanderbr, wwghes, MarcusHVange, yeseo, annabe1la, Dylan Wettstein, JauneQ, Jingye Han, doucz and 44 more
i wonder what is the reason for codex to keep collecting them and not letting to delete, what's the point.
Reacted by lewismessthecode, saehoon kim & sam.saehoon, JauneQ, yeoleobun, Uaena_Alex_John, Lime, GnosticRooster, CRIMX, BrainBear, Oscar Molinar and 9 more
Really? We cannot delete chats!? Couldn't find the option, and shocked to find this issue
Hoping this was just an oversight, and gets fixed promptly
Current workaround (macOS Codex app):
1. Open **Finder**.
2. Press **Cmd + Shift + G**.
3. Go to:
```
~/.codex/archived_sessions/
```
...
Can confirm this works on Windows as well. Easiest to just treat "archived" as marked for deletion, then delete the files in ~\.codex\archived_sessions in explorer,
Or with powershell:
Remove-Item ~\.codex\archived_sessions\*-Force
For anyone coming here later only to find disappointment, maybe this unrelated usage tip can help.
I needed to run Codex as administrator (which I think is recommended) and also with --disable-gpu (electron app) argument since all electron apps don't render correctly at all on my older GTX 1080 GPU. And I usually just make a shortcut for electron apps I use to pass that argument
But Codex, unfortunately is only distributed via Microsoft Store and winget, both of which get installed into just objectively terrible nonsensical paths:
And every update the path actually changes as new app directory is created with new date and hash and the old one is not removed, which is very convenient for people wanting to keep all previous versions on disk. It probably does get removed eventually by Microsoft, since it manages this bloat. There are also symlinks that are used to open the app and change even more often. They have even more ridiculous paths:
Ideally does not point to a powershell script, which I would need to keep track of and remember it exists
And I got all of it to work with a basic shortcut only! The shortcut target can accept a short powershell script to find the path of the latest codex install/update, add the argument, and run it as admin. This worked for me:
I’d like to add a concrete Windows Codex Desktop case to this request.
My use case is narrower than “clear all history”: inside one project, I have several conversations in the sidebar, and I want to delete exactly one of them from the UI while keeping the rest of the project’s conversations intact.
Requested UX
In the project/sidebar conversation list:
Right-click conversation -> Delete thread...
Then show a confirmation dialog that clearly says this deletes the local conversation/session data for that one thread only, and does not delete or modify any workspace/project files.
Archive and delete should stay distinct actions:
Rename
Archive
Delete thread...
For archived threads:
Unarchive
Delete permanently...
Local evidence
On Windows, one visible sidebar conversation appears to map cleanly to a single thread id.
For one conversation I inspected locally, the related state was spread across:
session_index.jsonl: multiple records for the same thread id, due to renames
state_5.sqlite threads: 1 row
state_5.sqlite thread_dynamic_tools: a small number of related rows
stage1_outputs/thread_goals/thread_spawn_edges: none in this case
logs_2.sqlite logs: none in this case
rollout JSONL: one conversation transcript file
This makes the desired behavior feel well-scoped: delete one thread id and its associated local session/index/log records, without touching other conversations in the same project.
Expected behavior
Deleting one thread from the UI should:
Remove only that one conversation from the project/sidebar list.
Remove or trash the associated rollout JSONL for that thread.
Remove matching local metadata/index rows for that thread.
Remove only auxiliary rows tied to that thread, such as dynamic tools, goals, stage outputs, spawn edges, and logs.
Never delete or mutate workspace/project files.
Leave all other conversations in the same project visible and resumable.
Require explicit confirmation before destructive deletion.
Prefer the OS Trash/Recycle Bin where possible, or clearly explain that deletion is permanent.
Block or warn more strongly for active/running threads, pinned threads, or threads with spawned descendants.
Why this matters
Right now, the only practical workaround is to inspect internal Codex storage and manually delete/edit files or SQLite rows. That is risky and not something users should need to do.
This is both a UX issue and a local data-retention/privacy issue. Codex conversations can contain paths, diffs, commands, logs, project names, and accidental sensitive context. Users need a supported way to delete exactly one local conversation from the UI.
Related follow-up with local verification evidence: #23991
Codex Desktop now has an archived-chat delete action, and in my local test it did remove the main rollout JSONL and some state DB rows. However, the same thread ID still remained in session_index.jsonl, logs_2.sqlite, and desktop state after deletion.
This is very suspicious, I'm starting to think what the reason for keeping the chats is. I have also noticed that there is a .git in the memory folder. that git is recreated every x amount of time.
Related follow-up with local verification evidence: #23991
Codex Desktop now has an archived-chat delete action, and in my local test it did remove the main rollout JSONL and some state DB rows. However, the same thread ID still remained in session_index.jsonl, logs_2.sqlite, and desktop state after deletion.
Not proposing it as a replacement for the built-in delete UI; it is mainly useful for verifying and cleaning local residues after deletion.
This works on my device.
However, I would like to add that it fails to work on cloud tasks dating back to last year from before the apps were released.
It appears that a third-party application is required to facilitate functionality. Such a fundamental feature cannot be supplied internally; therefore, one must question the confidence in utilizing Codex.
Still not solved. I don't understand why codex can't add a feature that is entirely regular in the ChatGPT browser function. OpenAI says it deletes data within 30 days, but that seems irrelevant if you can't delete the chat.
At this point it's not even clear, if deleting the entire openai account solves this issue.
The app now supports deletion of archived sessions. Open Settings, then go to "Archived chats", and click on the trash can icon next to the session you wish to delete.
Deleting archived content doesn't seem like a good solution; the content should be deleted without archiving it first. This seems very poorly written. It seems like they don't even care about the issue.
The app now supports deletion of archived sessions. Open Settings, then go to "Archived chats", and click on the trash can icon next to the session you wish to delete.
'Any plans to make deletion of cloud-based sessions possible?' Claude Code already offered this long time ago and deletes the sessions within 24h. Codex will remain flawed until it can offer the same service.
Activity
TobiasArg commentedon Feb 28, 2026
Yes, please. It’s really annoying to have to see a lot of old threads that are now useless. The only way to hide them is by archiving them, but that’s just like moving the dust under the carpet — it’s not a real solution.
MiladInk commentedon Mar 6, 2026
I also support this. I don't like just archiving and not deleting.
devhogu commentedon Mar 6, 2026
i wonder what is the reason for codex to keep collecting them and not letting to delete, what's the point.
[-]Allow to delete threads in the Codex macOS app[/-][+]Allow to delete threads in the Codex app[/+]YodaEmbedding commentedon Apr 2, 2026
Near duplicate: #7727
kelvinovo00 commentedon Apr 15, 2026
2 months passed, this simple feature still not be supported, why it happens?
prithagupta commentedon Apr 16, 2026
Current workaround (macOS Codex app):
Open Finder.
Press Cmd + Shift + G.
Go to:
Find the archived session file for the thread you want gone.
Delete that file.
Reopen Codex (or refresh the sidebar).
If the thread is still active (not archived yet):
archived_sessions.Optional terminal command:
This deletes all archived threads, so use it only if that’s what you want.
inwake commentedon Apr 16, 2026
Really? We cannot delete chats!? Couldn't find the option, and shocked to find this issue
Hoping this was just an oversight, and gets fixed promptly
Can confirm this works on Windows as well. Easiest to just treat "archived" as marked for deletion, then delete the files in
~\.codex\archived_sessionsin explorer,Or with powershell:
For anyone coming here later only to find disappointment, maybe this unrelated usage tip can help.
I needed to run Codex as administrator (which I think is recommended) and also with
--disable-gpu(electron app) argument since all electron apps don't render correctly at all on my older GTX 1080 GPU. And I usually just make a shortcut for electron apps I use to pass that argumentBut Codex, unfortunately is only distributed via Microsoft Store and winget, both of which get installed into just objectively terrible nonsensical paths:
C:\Program Files\WindowsApps\OpenAI.Codex_26.409.7971.0_x64__2p2nqsd0c76g0\app\Codex.exeAnd every update the path actually changes as new app directory is created with new date and hash and the old one is not removed, which is very convenient for people wanting to keep all previous versions on disk. It probably does get removed eventually by Microsoft, since it manages this bloat. There are also symlinks that are used to open the app and change even more often. They have even more ridiculous paths:
C:\Users\$env:USERNAME\AppData\Local\Microsoft\WinGet\Links\codex.exeSo I needed to make a shortcut that:
codex.exeAnd I got all of it to work with a basic shortcut only! The shortcut
targetcan accept a short powershell script to find the path of the latest codex install/update, add the argument, and run it as admin. This worked for me:Important to note that:
I am realizing how niche of an issue I just described but could still be useful to know!
tiancaixiaoeyu commentedon Apr 29, 2026
really disappointed to see that simple issue havent been solved yet even though a 2 months passed
7 remaining items
HyunKN commentedon May 12, 2026
I’d like to add a concrete Windows Codex Desktop case to this request.
My use case is narrower than “clear all history”: inside one project, I have several conversations in the sidebar, and I want to delete exactly one of them from the UI while keeping the rest of the project’s conversations intact.
Requested UX
In the project/sidebar conversation list:
Then show a confirmation dialog that clearly says this deletes the local conversation/session data for that one thread only, and does not delete or modify any workspace/project files.
Archive and delete should stay distinct actions:
For archived threads:
Local evidence
On Windows, one visible sidebar conversation appears to map cleanly to a single thread id.
For one conversation I inspected locally, the related state was spread across:
For that one thread, I found roughly:
This makes the desired behavior feel well-scoped: delete one thread id and its associated local session/index/log records, without touching other conversations in the same project.
Expected behavior
Deleting one thread from the UI should:
Why this matters
Right now, the only practical workaround is to inspect internal Codex storage and manually delete/edit files or SQLite rows. That is risky and not something users should need to do.
This is both a UX issue and a local data-retention/privacy issue. Codex conversations can contain paths, diffs, commands, logs, project names, and accidental sensitive context. Users need a supported way to delete exactly one local conversation from the UI.
1939869736luosi commentedon May 22, 2026
Related follow-up with local verification evidence: #23991
Codex Desktop now has an archived-chat delete action, and in my local test it did remove the main rollout JSONL and some state DB rows. However, the same thread ID still remained in
session_index.jsonl,logs_2.sqlite, and desktop state after deletion.I also published the small verifier/cleanup tool used for the before/after check here: https://github.com/1939869736luosi/codex-sessions-manager
Not proposing it as a replacement for the built-in delete UI; it is mainly useful for verifying and cleaning local residues after deletion.
Aesthermortis commentedon May 22, 2026
This is very suspicious, I'm starting to think what the reason for keeping the chats is. I have also noticed that there is a .git in the memory folder. that git is recreated every x amount of time.
matthew-mw commentedon May 28, 2026
This works on my device.
However, I would like to add that it fails to work on cloud tasks dating back to last year from before the apps were released.
andrew-woo-dev commentedon May 29, 2026
It appears that a third-party application is required to facilitate functionality. Such a fundamental feature cannot be supplied internally; therefore, one must question the confidence in utilizing Codex.
kotoru-maker commentedon Jun 6, 2026
Still not solved. I don't understand why codex can't add a feature that is entirely regular in the ChatGPT browser function. OpenAI says it deletes data within 30 days, but that seems irrelevant if you can't delete the chat.
At this point it's not even clear, if deleting the entire openai account solves this issue.
etraut-openai commentedon Jun 7, 2026
The app now supports deletion of archived sessions. Open Settings, then go to "Archived chats", and click on the trash can icon next to the session you wish to delete.
matthew-mw commentedon Jun 7, 2026
@etraut-openai Any plans to make deletion of cloud-based sessions possible?
Aesthermortis commentedon Jun 8, 2026
Deleting archived content doesn't seem like a good solution; the content should be deleted without archiving it first. This seems very poorly written. It seems like they don't even care about the issue.
0xdevalias commentedon Jun 12, 2026
See also:
kotoru-maker commentedon Jun 19, 2026
'Any plans to make deletion of cloud-based sessions possible?' Claude Code already offered this long time ago and deletes the sessions within 24h. Codex will remain flawed until it can offer the same service.
basantmandal commentedon Jul 27, 2026
Log in at https://chatgpt.com
open the task so its URL shows the task id (https://chatgpt.com/codex/cloud/tasks/task_e_...), then in the browser DevTools console:
SHi-ON commentedon Aug 25, 2026
Confirmed!
SHi-ON commentedon Aug 25, 2026
I made a Gist out of it:
https://gist.github.com/SHi-ON/fb4cf29f4f99810757346e5c08b97ac2