Skip to content

Codex Mac app hides unarchived local threads until they are messaged again #20959

@cheulyop

Description

@cheulyop

What version of Codex are you using?

Codex app latest-version cache shows 0.128.0.

What platform is your computer?

macOS arm64.

What issue are you seeing?

Codex Mac app hid an existing local Desktop thread from the project sidebar even though the underlying thread data was intact and the thread was not archived.

After resuming the hidden thread with Codex CLI and sending a new message, the same thread reappeared in the Codex app sidebar.

Local inspection before/after suggests the visibility change was caused by the thread becoming recent/active again, not by archive state or workspace metadata being repaired.

Local evidence, redacted

For the missing thread:

  • threads.archived = 0
  • source = vscode
  • cwd = <PROJECT_PATH>
  • rollout file existed under ~/.codex/sessions/.../<THREAD_ID>.jsonl
  • the direct parent/root fork lineage was also unarchived
  • the project path was present in the saved workspace roots
  • the app sidebar still did not show the thread under that project

After resuming that hidden thread with Codex CLI and sending a new message:

  • archived stayed 0
  • cwd stayed unchanged
  • thread-workspace-root-hints[<THREAD_ID>] was still absent/null
  • updated_at advanced to the new message time
  • the rollout JSONL gained the new message/events
  • the thread reappeared in the app sidebar

Example queries used locally:

select id, archived, source, cwd, updated_at, rollout_path
from threads
where id = '<THREAD_ID>';
jq '.["thread-workspace-root-hints"]["<THREAD_ID>"], .["electron-saved-workspace-roots"]' ~/.codex/.codex-global-state.json

Expected behavior

All unarchived local Desktop threads for a saved workspace should remain discoverable in the Codex app sidebar/history, even if they are older and have not been recently messaged.

A user should not need to recover an existing unarchived local thread through codex resume and send a message just to make it reappear in the Desktop app.

Actual behavior

The thread was hidden from the sidebar until it was resumed through Codex CLI and messaged again. Once messaged, it reappeared, while archive state and workspace-root metadata did not materially change.

This makes it look like important work history has been lost, even though the underlying local thread files and DB rows still exist.

Related issues

This seems related to, but not exactly the same as:

The distinctive signal here is: an unarchived local Desktop thread becomes visible again after codex resume + a new message bumps recency, without archive/workspace metadata changing.

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions