openai / openai/codex

ChatGPT Beta cannot resume paginated rollout when inherited prefix ends on a non-durable event

Open
#40,747 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug session windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What is happening

I am running into a repeatable issue in ChatGPT Beta on Windows where older conversations show up in history, but the app cannot load or resume them.

This is not missing conversation data. The rollout is still on disk. The failure is in the paginated thread-store resume path.

Error
Failed to resume chat

error resuming thread: Fatal error: Failed to initialize session:
thread-store internal error: failed to resume local thread recorder:
paginated subagent rollout at %USERPROFILE%\.codex\sessions\2026\08\23\rollout-...jsonl
is incomplete: expected inherited prefix through ordinal 828,
found final durable ordinal 827
What I checked

I inspected the referenced JSONL metadata without changing the file:

  • The file contains 829 sequential records with ordinals 0 through 828.
  • Ordinal 827 is a durable response_item/custom_tool_call_output.
  • Ordinal 828 exists, but it is a non-durable event_msg/token_count.
  • The resume path expects a durable inherited prefix through ordinal 828.
  • The recorder therefore stops at durable ordinal 827 and rejects the thread as incomplete.
  • The desktop logs repeat the same failure every time thread/resume is attempted.

This looks like the pagination or migration code used the last physical ordinal as the inherited-prefix boundary even though that record was non-durable.

Steps to reproduce
  1. Open ChatGPT Beta on Windows.
  2. Select an affected older conversation from history.
  3. Wait for the app to run thread/resume.
  4. The conversation does not hydrate and the app shows “Failed to resume chat.”
Expected behavior

The app should resume the conversation when the inherited prefix contains all required durable records. A trailing non-durable event should not make an otherwise present rollout fail validation.

Actual behavior

The conversation remains visible in history but cannot be opened. Resume fails because the expected inherited-prefix ordinal points at a non-durable token_count event.

Environment
  • ChatGPT Beta for Windows: 26.727.4816.0
  • CLI bundled with the beta app: codex-cli 0.146.0-alpha.9.2
  • Standalone Codex CLI installed on the same machine: codex-cli 0.149.1
  • Windows packaged app: OpenAI.CodexBeta

The Microsoft Store reports no newer beta build available. I did not manually edit the rollout or replace the app-managed CLI.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the paginated thread-store resume path and the thread/resume entry point, using the reported JSONL rollout with a trailing non-durable token_count event. Trace how the inherited-prefix boundary is chosen and verify that resume succeeds when all required durable records are present despite that trailing event.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.