codex - 💡(How to fix) Fix Codex Desktop macOS: archiving the currently viewed chat leaves right pane on archived thread and triggers `session is archived`

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

On Codex Desktop for macOS, archiving the currently viewed chat appears to succeed on the backend, but the Desktop UI does not navigate away from that chat. The right-side viewer remains bound to the just-archived thread, then the app immediately shows a red error/toast:

Failed to resume chat
session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.

This looks like an active-thread navigation/state bug after thread/archive: the archived thread is still treated as the current resumable thread instead of the UI clearing the active route, switching to another non-archived thread, or showing a new-chat empty state.

This seems closely related to #25713, which reports the same active-thread-after-archive resume loop on Windows. This issue is for the same/similar behavior confirmed on macOS, with the visible symptom that the right pane/viewer stays on the archived chat.

Error Message

On Codex Desktop for macOS, archiving the currently viewed chat appears to succeed on the backend, but the Desktop UI does not navigate away from that chat. The right-side viewer remains bound to the just-archived thread, then the app immediately shows a red error/toast: 5. A red error/toast appears saying the same thread is archived and suggesting codex unarchive <thread_id>. The important detail is that the thread id in the error is exactly the thread that was just archived. That suggests the issue is not a corrupt session and not a failed archive; rather, the active conversationId / route / viewer state is not cleared after a successful archive.

Root Cause

On Codex Desktop for macOS, archiving the currently viewed chat appears to succeed on the backend, but the Desktop UI does not navigate away from that chat. The right-side viewer remains bound to the just-archived thread, then the app immediately shows a red error/toast:

Failed to resume chat
session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.

This looks like an active-thread navigation/state bug after thread/archive: the archived thread is still treated as the current resumable thread instead of the UI clearing the active route, switching to another non-archived thread, or showing a new-chat empty state.

This seems closely related to #25713, which reports the same active-thread-after-archive resume loop on Windows. This issue is for the same/similar behavior confirmed on macOS, with the visible symptom that the right pane/viewer stays on the archived chat.

Fix Action

Fix / Workaround

Workaround currently used

Code Example

Failed to resume chat
session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.

---

/Applications/Codex.app/Contents/Resources/codex --version

---

session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.
RAW_BUFFERClick to expand / collapse

Summary

On Codex Desktop for macOS, archiving the currently viewed chat appears to succeed on the backend, but the Desktop UI does not navigate away from that chat. The right-side viewer remains bound to the just-archived thread, then the app immediately shows a red error/toast:

Failed to resume chat
session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.

This looks like an active-thread navigation/state bug after thread/archive: the archived thread is still treated as the current resumable thread instead of the UI clearing the active route, switching to another non-archived thread, or showing a new-chat empty state.

This seems closely related to #25713, which reports the same active-thread-after-archive resume loop on Windows. This issue is for the same/similar behavior confirmed on macOS, with the visible symptom that the right pane/viewer stays on the archived chat.

Environment

  • Product: Codex Desktop
  • Platform: macOS / Darwin
  • Chat type observed: projectless/local chat
  • Exact Codex Desktop version: not collected yet
  • Bundled CLI version: not collected yet

Version can be collected with:

/Applications/Codex.app/Contents/Resources/codex --version

Steps to reproduce

  1. Open Codex Desktop on macOS.
  2. Open a local/projectless chat so it is the currently viewed active chat in the right-side viewer.
  3. Click Archive on that same currently viewed chat.
  4. Observe that the archive action appears to complete, but the right-side viewer remains on the same chat instead of navigating away.
  5. A red error/toast appears saying the same thread is archived and suggesting codex unarchive <thread_id>.

Expected behavior

After archiving the currently viewed/active chat, Codex Desktop should do one of the following:

  • clear the active conversation/viewer route and show a new-chat empty state;
  • navigate to the next available non-archived thread;
  • if the user is intentionally viewing an archived thread, show an archived/read-only/unarchive recovery state.

It should not call thread/resume or goal hydration on the thread it just archived.

Actual behavior

The archive itself appears to succeed, but the renderer/viewer remains bound to the archived thread. The app then tries to resume the same archived thread and shows:

session <thread_id> is archived. Run `codex unarchive <thread_id>` to unarchive it first.

This makes the archive action look like it failed, even though the underlying state is likely already archived.

Notes / likely cause

The important detail is that the thread id in the error is exactly the thread that was just archived. That suggests the issue is not a corrupt session and not a failed archive; rather, the active conversationId / route / viewer state is not cleared after a successful archive.

Potential client-side fix:

  • On successful thread/archive, if the archived thread id matches the currently active conversation id, immediately clear the active conversation id or navigate away.
  • Re-query/select only non-archived threads for the next active thread.
  • Guard thread/resume / thread/goal/get so they are not called for archived threads.
  • If no non-archived thread exists, display a new-chat empty state.

Workaround currently used

Avoid archiving the chat that is currently open in the right pane. Instead, first switch to a different/new chat, then archive the target chat from the sidebar. If already stuck, restarting the app or clearing UI/session storage can clear the stale active route; codex unarchive <thread_id> only restores the archived chat and is not desired when the user actually intended to archive it.

Related issues

  • #25713 — Same active-thread archive/resume loop reported on Windows.
  • #20317 — Archived local thread cannot be resumed after restore due to sessions/archived_sessions path mismatch.
  • #18216 — Archived thread route/deep-link lacks recovery UI.
  • #11907 — macOS app has archive/unarchive refresh gap.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

After archiving the currently viewed/active chat, Codex Desktop should do one of the following:

  • clear the active conversation/viewer route and show a new-chat empty state;
  • navigate to the next available non-archived thread;
  • if the user is intentionally viewing an archived thread, show an archived/read-only/unarchive recovery state.

It should not call thread/resume or goal hydration on the thread it just archived.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING