Skip to content

Windows Desktop: conversations disappear from UI even though JSONL sessions still exist; add first-party recovery/reindex tool #40779

Open

Description

@JulioAmestica

Summary

On Windows, Codex/ChatGPT Desktop can lose visibility of existing conversations even though the underlying local session files still exist on disk as JSONL files under ~/.codex/sessions.

This has happened more than once on the same machine. The conversations appear to be lost from the UI/sidebar, but the JSONL session files are still present locally. In other words, this looks like a local indexing/state/sidebar hydration failure rather than actual data deletion.

Because this failure mode is recurring and highly disruptive, the Desktop app should provide a first-party conversation recovery / reindex capability that can scan the persisted JSONL session files and rebuild the UI-visible conversation index/state.

Environment

  • Platform: Windows x64
  • Codex Desktop package observed during the latest incident: OpenAI.Codex 26.820.7780.0
  • ChatGPT Desktop also installed on the same machine
  • Local session storage: %USERPROFILE%\.codex\sessions
  • User has previously observed conversations disappear from the Desktop UI while the corresponding .jsonl files remain on disk

What issue are you seeing?

After an app update/startup failure/recovery cycle, conversations that previously existed no longer appear in the Desktop sidebar/history.

The important part is that the underlying files are still present under the local Codex session directory. The data is therefore not necessarily deleted; the Desktop UI simply stops loading/indexing it.

This is especially concerning because the UI gives the impression that the conversations have been permanently lost.

This is not the first time this has happened on this machine.

Expected behavior

If valid local session JSONL files exist, the Desktop app should be able to discover and restore them into the conversation list automatically.

At minimum, the app should provide an explicit recovery action such as:

  • Recover conversations
  • Rebuild conversation index
  • Rescan local sessions

The recovery flow should:

  1. Scan %USERPROFILE%\.codex\sessions and archived_sessions.
  2. Validate readable rollout/session JSONL files.
  3. Reconstruct missing thread metadata where possible.
  4. Rebuild or repair session_index.jsonl / local SQLite/index state used by Desktop.
  5. Restore valid non-archived conversations to the sidebar/history.
  6. Report how many conversations were found, recovered, skipped, or corrupted.
  7. Never overwrite or delete the original JSONL files during recovery.

Why this matters

For long-running software projects, conversations contain implementation context, architectural decisions, debugging history, commands, and reasoning that may span weeks or months.

When the Desktop sidebar suddenly becomes empty or incomplete, users naturally assume their work history has been deleted. If the JSONL source files are still intact, the application should not require users to manually inspect SQLite, edit local state files, identify thread IDs, or reverse engineer internal indexes to recover their own conversations.

A supported recovery function would make the app significantly more resilient to:

  • failed migrations
  • app updates
  • stale/corrupt local indexes
  • sidebar/index desynchronization
  • local database rebuilds
  • reinstall/recovery scenarios

Suggested UX

A recovery option could be exposed under something like:

Settings -> Data / Troubleshooting -> Recover local conversations

Before making changes, it could create a backup of local metadata/index databases, then rebuild derived state from the persisted session JSONL files.

It would also be useful to expose a CLI equivalent, for example conceptually:

codex sessions repair
codex sessions reindex

Related issues

This appears related to an existing family of reports where threads remain on disk but disappear from Desktop/sidebar/search, including:

Those issues mainly describe visibility/indexing failures. This report specifically asks for a supported, user-facing recovery/reindex mechanism so users can restore conversations from the authoritative local JSONL session files when this class of failure occurs again.

Additional information

The same Windows machine recently experienced a separate startup regression in 26.820.7780.0 where the app could not locate/execute the bundled Codex CLI. After recovering the application, the broader concern remains that local conversation history can become detached from the UI even though the JSONL files still exist.

The session JSONL files can contain private source code, prompts, local paths, and other sensitive project information, so a recovery mechanism should operate locally and should not require uploading the raw session files to support or GitHub.

Activity

  1. added
    enhancementNew feature or request
    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 Aug 26, 2026
  2. shita0809 commented on Aug 27, 2026

    @shita0809

    Additional Windows repro / diagnostic evidence (2026-08-27):

    This is recurring on my machine and the underlying conversation data is still present, but Desktop stops surfacing part of it.

    Observed state during the latest occurrence:

    • Platform: Windows x64, Codex Desktop
    • Subscription: ChatGPT Plus
    • %USERPROFILE%\.codex\sessions: 178 session/rollout files found
    • %USERPROFILE%\.codex\session_index.jsonl: only 95 entries
    • session_index.jsonl last write time: 09:41 local time
    • New rollout-*.jsonl files continued to be created/updated after 11:00–12:00, so session persistence continued while the index stopped advancing
    • .codex-global-state.json continued updating later (15:13 local time)
    • CODEX_HOME is unset (default location)
    • CODEX_CLI_PATH points to the bundled official Codex Desktop executable under %LOCALAPPDATA%\OpenAI\Codex\bin\...\codex.exe
    • Only one Codex process was running when checked
    • Existing affected conversations can still retain their earlier context if opened directly; the problem is primarily visibility/indexing in the Desktop UI

    Recovery test:

    1. Fully quit Codex Desktop.
    2. Back up sessions, archived_sessions, session_index.jsonl, .codex-global-state.json, and the SQLite state files.
    3. Rename session_index.jsonl and restart Codex Desktop.
    4. Desktop does not recreate/rebuild session_index.jsonl from the existing 178 local session JSONL files; Test-Path remains false.

    This strongly suggests session_index.jsonl / Desktop thread-list state can stop updating independently of the durable session files, and there is currently no automatic recovery path.

    The issue is highly disruptive for long-running coding projects because the conversation still exists and can retain context, but users repeatedly lose the ability to find it from the normal project/sidebar history.

    A first-party local repair/reindex action would be very valuable. Ideally it should rescan sessions/archived_sessions, reconcile thread metadata with SQLite/global state, and restore sidebar/project visibility without requiring manual state-file edits.

    I have not attached raw JSONL/SQLite files because they contain private code, prompts, project paths, and conversation content. I can provide sanitized counts/schema/log excerpts if useful.

  3. SenlerBot commented on Aug 30, 2026

    @SenlerBot

    Reproduction update — still occurring on a newer Windows build

    This issue reproduced again on 2026-08-30 during active project work.

    Environment:

    • Codex Desktop: 26.825.5331.0
    • Codex CLI reported locally: codex-cli 0.130.0-alpha.5
    • Windows: Microsoft Windows NT 10.0.26200.0, x64
    • Workspace host: WSL2

    Observed behavior:

    • An active, long-running project conversation disappeared from the Codex Desktop UI again.
    • The conversation was not intentionally deleted or archived.
    • This is a recurrence on the same machine, not a one-time migration incident.
    • The disappearance interrupted ongoing implementation work and required the user to reconstruct where the task had stopped.
    • The local JSONL/index state has not yet been inspected for this specific recurrence, so I cannot confirm whether this instance is identical at the storage layer.

    Expected behavior:

    • Active conversations must remain visible and discoverable.
    • If the UI index becomes stale, Desktop should automatically rebuild it from durable thread/session storage.
    • A supported “Recover conversations / Rebuild index” action would provide a safe recovery path.

    No conversation content, project paths, account identifiers, or session/thread IDs are included in this public report. Redacted diagnostics can be provided if maintainers specify what is useful.

  4. Kenawanewan commented on Aug 30, 2026

    @Kenawanewan

    Additional Windows reproduction from ChatGPT Work (2026-08-30):

    • A Work conversation created the previous day for a live Google Ads task disappeared from the Desktop sidebar/history on the same PC, app, account, and project context.
    • This is the second occurrence on this machine.
    • Three full PC/application restarts did not restore the conversation.
    • The missing thread contained critical operational context, so the user had to reconstruct the task manually from Gmail and screenshots.
    • The UI provided no recovery/reindex action and no indication whether the underlying session still existed.

    Expected: a recent, non-archived Work conversation should remain discoverable. If local session data still exists, Desktop should automatically rebuild the index or expose a supported “Recover/reindex conversations” action.

    This recurrence has a high productivity impact and makes the app appear to have deleted work even when the likely failure is index/sidebar hydration.

  5. SeruousMax commented on Aug 31, 2026

    @SeruousMax

    I can confirm that this is still reproducible on a newer Windows build, and in this occurrence it affected the currently active long-running task rather than only old sidebar entries.

    Environment:

    • Windows x64
    • Codex Desktop AppX: 26.825.6671.0
    • Embedded Codex CLI recorded by the session: 0.146.0
    • Observed again: 2026-08-31 (Europe/Moscow)

    Observed behavior:

    • The visible chat/history for the active task disappeared again while the task itself remained usable.
    • Sending another message continued the same underlying thread.
    • This was not actual transcript deletion.

    Sanitized local evidence collected immediately after the incident:

    • The active rollout-*.jsonl still existed under %USERPROFILE%\.codex\sessions\....
    • Size was about 18.9 MB with 1,942 valid JSONL records and no parse errors.
    • The transcript contained 3 compaction records and continued to append new events.
    • The thread was still present in the Desktop local catalog with missing_candidate=0 and pending_observed_title=0; its recency/update metadata continued to advance.

    This narrows the failure mode to Desktop hydration/rendering/index reconciliation for a live, long/compacted thread. The persisted transcript and catalog entry can both be healthy while the UI makes the conversation appear lost.

    Expected behavior:

    • The active conversation should never blank or lose its visible history after compaction/re-hydration.
    • If renderer state is lost, Desktop should reconstruct the visible timeline from the intact local transcript automatically.
    • A first-party local repair/reindex action would still be valuable as a fallback.

    No transcript contents, private project paths, account identifiers, or raw logs are attached. Sanitized diagnostics can be provided if maintainers specify the exact fields needed.

  6. SenlerBot commented on Sep 1, 2026

    @SenlerBot

    Reproduction update — 2026-09-01

    This occurred again on the same Windows machine, this time during an active long-running WSL project task.

    Environment:

    • Codex Desktop AppX: 26.825.6671.0
    • Shell Codex CLI: 0.130.0-alpha.5
    • Windows x64: 10.0.26200.9168
    • Workspace host: WSL2, Ubuntu 22.04

    Observed behavior:

    • The active task/chat disappeared from the Codex Desktop UI.
    • It was not intentionally deleted or archived.
    • Sending another message continued the same underlying task, confirming that the conversation data itself had not been deleted.

    Sanitized local evidence collected after the incident:

    • The matching rollout-*.jsonl still exists under %USERPROFILE%\.codex\sessions\....
    • It is 20,307,416 bytes and contains 2,214 valid JSONL records with zero parse errors.
    • It contains four compaction records and continued to append data on 2026-09-01.
    • session_index.jsonl had not been modified since 2026-08-31 15:45 local time, while the active rollout continued updating on 2026-09-01.

    This is consistent with a Desktop sidebar/index hydration failure rather than transcript loss. An active task should remain visible, and Desktop should reconcile or rebuild its derived index from the intact rollout data automatically.

    No conversation contents, project paths, account identifiers, thread IDs, tokens, or raw logs are included.

  7. Divinicus1st commented on Sep 3, 2026

    @Divinicus1st

    I just hit what looks like the same failure on Windows, with a newer build.

    Environment:

    • Windows x64
    • ChatGPT Desktop, “Powered by Codex & OWL”
    • Version 26.901.20858
    • About dialog says released 2 Sep 2026

    Symptom:

    • All of my Codex conversations suddenly disappeared from the UI/sidebar.
    • I checked the local Codex state immediately afterward and the underlying session data still exists.

    Read-only local evidence from %USERPROFILE%\.codex:

    • sessions: 28 JSONL files
    • archived_sessions: 8 JSONL files
    • session_index.jsonl: 6,189 bytes
    • state_5.sqlite: 573,440 bytes, with a ~4.17 MB WAL
    • thread_history_1.sqlite: 164,982,784 bytes, with a ~602 KB WAL
    • .codex-global-state.json: 1,109,550 bytes, with an equally sized .bak
    • the newest session JSONL was still being modified at the time of inspection and was ~39 MB

    I have not attempted to reset/rebuild/delete any .codex state after noticing the problem; the inspection above was read-only.

    This strongly looks like the conversation/sidebar index or hydration becoming detached from the persisted local sessions rather than actual transcript deletion. A first-party “reindex/recover local conversations” path would be extremely useful here, especially because the UI currently makes this look like complete history loss.

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 appenhancementNew feature or requestsessionIssues 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