Skip to content

[Windows][26.1111] Local Codex projects disappear after update while existing chats remain accessible #61294

Open

Description

@li2go

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

  • Desktop app version from installed app metadata: 26.1111.21308
  • Installed Windows package: OpenAI.Codex 26.1111.2228.0 (x64)
  • Bundled CLI: codex-cli 0.169.0-alpha.11.1

What subscription do you have?

Not provided.

What platform is your computer?

Windows 11 Home 25H2, x64, build 26200.9974.

What issue are you seeing?

After updating the Windows desktop app, the local projects I had manually added in Codex disappeared from the Projects sidebar. Existing chats remain accessible, but their previous project grouping is missing. This affects local folder projects in Codex.

Read-only diagnostics on November 13, 2026:

  • state_5.sqlite passed PRAGMA quick_check. It contains 53 project records and 63 project-root records. All 55 distinct registered folder paths still exist.
  • Both .codex-global-state.json and its immediate .bak contain an empty local-projects catalog.
  • All 1,059 indexed thread rows have a NULL project_id. This is the current database state. The database check alone cannot establish where each pre-update association was stored.
  • The saved migration checkpoint reports projectsMigrated: true and threadAssignmentsMigrated: false.
  • Seven normalized folder paths are shared by more than one project, so the working directory alone cannot uniquely recover every historical chat assignment.

What steps can reproduce the bug?

Observed sequence on this installation:

  1. Use Codex on Windows with manually added local projects and existing chats grouped under them.
  2. Update the Windows desktop app.
  3. Open Codex and inspect the Projects sidebar and the existing chats.

The sidebar no longer shows the local projects. Existing chats can still be opened individually. The update preceded the disappearance on this installation. A deterministic reproduction and the underlying trigger have yet to be established.

What is the expected behavior?

An app update should preserve manually added local projects and their existing chat groupings. If the sidebar catalog is empty while the original project records survive, please provide an app update or a supported recovery procedure that restores the original project IDs and folder mappings, and recovers historical chat assignments where the original data is available.

Additional information

Related reports: #54538 (empty desktop project catalog with surviving SQLite records), #58397 (projects missing after an update), and #59895 (similar symptoms after an account switch). This report adds a verified occurrence on Windows package 26.1111.2228.0.

The checks above were read-only. I am looking for an official recovery path that avoids direct edits to the application's internal database or state files.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on Nov 13, 2026
  2. byronbuzz commented on Nov 15, 2026

    @byronbuzz

    Same issue on Windows 11, Codex 26.1111.2228.0 (15 Nov 2026).

    Symptoms

    • System crash left config.toml containing 16,139 NUL bytes. Codex would not start.
    • Restored a valid configuration backup. Codex started, but all 14 projects had disappeared.
    • state_5.sqlite was intact: 14 projects, 20 project roots, 1,604 threads.
    • .codex-global-state.json contained an empty local-projects catalog.
    • Migration flags: projectsMigrated: true, threadAssignmentsMigrated: false.

    Recovery steps (successful)

    1. Fully close Codex, including remaining ChatGPT.exe and Codex app-server processes.
    2. Back up config.toml, .codex-global-state.json, its .bak, and state_5.sqlite using a consistent SQLite backup.
    3. Restore config.toml from a valid backup if corrupted. Validate with Python's tomllib.
    4. Verify state_5.sqlite using PRAGMA quick_check. Extract:
      • projects: original project IDs, names, ordering, timestamps.
      • project_roots: original directory associations.
      • project_idempotency_keys: mapping of original desktop project IDs to SQLite project IDs.
    5. Reconstruct .codex-global-state.json:
      • Populate local-projects, keyed by original desktop project ID. Each entry contains id, name, rootPaths, createdAt, updatedAt.
      • Restore project-order using those same IDs.
      • Restore app-server-project-id-by-legacy-project-id-by-host, mapping original IDs to SQLite IDs under the existing local:<CODEX_HOME> host key.
      • Recover thread-project-assignments from historical backups and unambiguous directory matches. Leave ambiguous associations unassigned.
      • Preserve unrelated state and migration flags.
    6. Validate JSON, save the repaired state and its .bak while Codex is closed, then relaunch.

    Result

    • All 14 original projects visible again.
    • 703 thread associations recovered.
    • No SQLite project or conversation records modified.
    • No duplicate projects created.

    The original project IDs were essential. Do not reset the database or create replacement projects.

    This suggests a Windows project-state persistence/migration defect. The relationship between the crash, corrupted TOML and empty project catalog remains unproven. A supported, non-destructive recovery mechanism would be valuable.

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