Skip to content

[Windows Desktop + Mobile Remote] newest history page repeatedly regresses to previous-day boundary while a 2.27 GB rollout keeps growing #43600

Open

Description

@Tanatos8403

Summary

A long-running local Codex task on Windows repeatedly shows a stale previous-day conversation on the phone while the task continues accepting new messages and working on the host. A read-only history query reproduced the exact stale message boundary described by the user.

This report does not claim transcript deletion or a confirmed duplicate-ordinal root cause.

Environment

  • Windows desktop package: OpenAI.Codex 26.901.6511.0
  • Incident: 2026-09-07, approximately 23:28–23:44 Europe/Warsaw (UTC+02:00)
  • Remote client: phone; mobile OS and app version were not captured in this diagnostic
  • Long-running local task, active since September 5
  • Canonical rollout JSONL size at 21:41:19 UTC: 2,266,381,154 bytes (about 2.27 GB)
  • The separately installed npm CLI reports 0.130.0; this is NOT asserted to be the desktop app's bundled runtime version.

Observed sequence

  1. The user reported that the phone view stopped at a particular assistant message from the previous day.
  2. A read-only list_threads call reported the task as active with a current updatedAt timestamp.
  3. A read_thread call with turnLimit=1, includeOutputs=false and maxOutputCharsPerItem=600 returned a page marked newest_first, but its latest returned turn started on the previous day and its final visible assistant message matched exactly the old boundary identified by the user.
  4. The returned turn was marked inProgress, contained 100 items and returned hasMore=true with a nextCursor whose rolloutOrdinal was 11878.
  5. The canonical local JSONL was still being appended to. A bounded tail check parsed the latest records successfully and showed timestamps from the current working session. This was not a full validation of the multi-gigabyte transcript.
  6. The user temporarily saw the newer conversation again after these read-only checks. No app restart, database change, deletion, cache clear, or history rewrite had been performed.
  7. The phone view subsequently became stale again during the same working session.

The timing of temporary recovery is recorded as correlation only: we cannot establish that querying history caused it.

Expected behavior

  • Remote and paginated history readers should return a bounded, current tail of an active task.
  • A history view should not silently present a previous-day boundary as the newest page while newer durable activity exists.
  • If projection or hydration cannot catch up, surface a recoverable error and retain the canonical history.
  • Provide a supported non-destructive repair or reindex path.

Areas to investigate, not confirmed causes

History projection/cache cursor consistency, pagination of very large rollouts, and remote hydration/reconciliation. The large file size may be relevant, but no size-limit or ordinal-corruption diagnosis has been established.

Possibly related: #41079, #43434 and #38023. Unlike the confirmed duplicate-ordinal report, no duplicate ordinal has been verified in this incident.

Work preservation and privacy

The user requested a new short continuation task in the same local workspace as a workaround. Existing project files and the old conversation are being retained.

No account identifiers, task IDs, task titles, local usernames/paths, project content, images, credentials, or raw transcript/log files are included in this report.

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 Sep 7, 2026
  2. diegocantarero commented on Sep 12, 2026

    @diegocantarero

    Additional cross-platform reproduction on macOS host, observed 2026-09-12.

    Environment:

    • Codex Desktop 26.903.71938 (build 8576)
    • bundled codex-cli/app-server 0.153.4
    • host: macOS arm64
    • clients: both current ChatGPT iOS and Android Remote

    Observed:

    • Desktop shows completed assistant turns from today.
    • Both iOS and Android list the same task but open a transcript whose newest visible boundary is yesterday.
    • The supported host task reader also returns yesterday as the newest projected turn.
    • The canonical local rollout still contains later completed turns and final answers from today, including terminal task_complete events.
    • The rollout is approximately 1.0 GiB. A supported request for only the newest 10 turns reported an original projected response around 1.61M tokens before truncation.
    • PRAGMA quick_check is OK for state_5.sqlite and thread_history_1.sqlite.

    This looks like newest-page hydration/projection divergence on an oversized rollout, not physical transcript deletion and not an Android-only client cache issue. No raw transcript, local paths, account identifiers, or full task IDs are included here. I can provide sanitized timestamps/item suffixes privately if maintainers need correlation.

    Expected: Remote should hydrate the canonical newest completed page, or return a typed oversized-thread/reindex error rather than silently serving an older boundary.

  3. diegocantarero commented on Sep 12, 2026

    @diegocantarero

    Follow-up protocol correlation from the same macOS reproduction:

    A bounded read-only query over the newest 200,000 host log rows shows that the iOS Remote client is not merely offline. Recent activity includes 10 iOS-remote client events, 21 thread/list events, 19 thread/read events, and 93 thread/resume events. The affected oversized task itself received a recent thread/resume.

    Despite those requests, both supported host read projection and mobile Remote still stop at yesterday while the canonical rollout contains completed final answers from today. The affected task also produced 346 WARN events from codex_thread_store::local::live_writer in the same bounded window.

    This narrows the failure to newest-page projection/hydration after request dispatch, potentially amplified by the active live-writer state and rollout size. It is not evidence of network disconnection or physical transcript deletion. No raw log bodies, paths, account data, or task IDs are included.

  4. victorllee commented on Sep 14, 2026

    @victorllee

    Additional independent Windows + phone Remote report (September 13, 2026 local time)

    Posting with the affected user's explicit request to report this to OpenAI. This appears related to this issue, but a common root cause has not been established.

    User observation

    • Reopening a long-running local Codex conversation through the phone's remote connection shows much older conversation content instead of the current task history.
    • On checking again, the user described the remote conversation as restarting from approximately a month ago. That age estimate is user-reported; the phone display has not been independently inspected in this investigation.
    • The current desktop conversation contains later September 13 requests and completed work.

    Independent read-only evidence

    • list_threads returned the same local task with a current updatedAt timestamp and active status.
    • read_thread for that exact task, with turnLimit: 6 and includeOutputs: false, returned a page advertised as newest_first.
    • The newest returned turn instead had startedAt: 1788944582 (2026-09-09 09:03:02 UTC), status: inProgress, and completedAt: null. The other returned turns were older.
    • This is inconsistent with the later conversation currently available in the active desktop session. Read-only Git/history and current-state checks also confirmed recent completed project work; they do not prove the underlying transcript is complete.
    • The phone's approximate month-old view and the independently observed September 9 history boundary are distinct observations and should not be conflated.

    Expected
    Remote and history retrieval should reflect the latest supported state of the same conversation, or clearly report that history reconstruction is incomplete. Stale execution metadata must not silently be presented as the current run.

    Impact and handling
    The user cannot reliably continue the same task from the phone. Old progress appearing active also creates concern about accidentally resuming superseded instructions. This report does not establish that old operations actually executed, that files were damaged, or that transcript records were deleted.

    No cache reset, state-database rewrite, transcript deletion, thread rollback or application restart was attempted as a repair. The old retrieved instructions were not executed. Previously stopped scheduled work was not restarted.

    Environment: Windows desktop and phone Remote; exact app builds and phone OS were not captured. No thread/account IDs, project names, repository URLs, local paths, server addresses, credentials, screenshots, raw transcripts or diagnostic logs are included in this public report.

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 workingremotesessionIssues 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