Skip to content

Windows Desktop 26.901.6511.0: experimental new_context loses task after successful checkpoint write #43709

Open

Description

@Roovelrz

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

26.901.6511.0 (app server / CLI 0.153.4)

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

After updating Codex Desktop to 26.901.6511.0 on 2026-09-07, I first observed an experimental context-management failure that ends an active long-running task after automatic context rollover.

The important failure path is that the checkpoint write succeeds, but after new_context the controller does not restore it. The replacement history contains only startup instructions, no active task state, and the assistant immediately finishes with a generic response such as:

你好,需要我帮你做什么?

This is not limited to the notes/history endpoint failure reported in #43194. In the strongest occurrence here, notes.append_to_file returned success. The failure was the missing mandatory restore after the reset.

I also observed a second occurrence where the notes request failed and new_context still proceeded. That path overlaps #43194, but it is not the only reproduction in this report.

What steps can reproduce the bug?

This was reproduced twice in the same long-lived Codex Desktop task with experimental context management enabled.

Environment:

  • Model: gpt-5.6-sol
  • Reasoning effort: high
  • History mode recorded in the rollout: paginated
  • The persisted task was originally created with CLI 0.151.0-alpha.7.2, then resumed after updating to app server 0.153.4 / Desktop 26.901.6511.0. This may make migration of an existing long-running task part of the trigger.

Reproduction A: successful checkpoint write, skipped restore

  1. Continue a long-running task until the token-budget fallback requests a checkpoint and context rollover.
  2. notes.append_to_file completes successfully.
  3. new_context completes successfully and reports that a new context window will start without summarizing conversation history.
  4. The next compacted record has an empty message and only five replacement-history items (45,534 visible characters).
  5. Those items contain startup/app instructions and injected environment instructions, but neither the checkpoint identifier nor the active user request/task marker.
  6. No notes.list_files_by_prefix, notes.read_file, or history recovery call occurs after the reset.
  7. The assistant immediately emits 你好,需要我帮你做什么? and completes the turn.

Reproduction B: failed checkpoint write, reset still proceeds

  1. Continue the same long-running task until another rollover.
  2. notes.write_file returns Unable to perform operation: The backend request failed.
  3. The local structured log records a failed POST to https://chatgpt.com/backend-api/codex/alpha/notes/v2/write_file; the surfaced error does not preserve an HTTP status or request ID.
  4. Despite the failed checkpoint write, the model calls new_context.
  5. alpha/notes/v2/thread_hint also fails during the reset.
  6. The replacement history again contains only five startup items and no active task/checkpoint.
  7. The assistant asks what task it should handle and completes the turn.

Successful control in the same task

An earlier rollover in the same task recovered correctly:

  1. The first notes.write_file attempt failed.
  2. The model retried with notes.append_to_file, which succeeded.
  3. After new_context, it called notes.list_files_by_prefix and notes.read_file before continuing the exact active task.

This comparison suggests that recovery currently depends on the model voluntarily retrying and reading the checkpoint. The transition controller does not appear to enforce successful persistence and restoration before allowing the old context to be replaced or a final response to be emitted.

The failed transitions were also expensive: the three model responses around each failure accounted for approximately 0.49M tokens, mostly cached input, before losing the task state.

What is the expected behavior?

  • After new_context, the controller must restore the successful checkpoint before the first normal reasoning step or assistant output.
  • If checkpoint persistence fails, new_context must not discard the current context; retain the old history or use the stable compaction fallback.
  • A post-reset turn must not be allowed to complete with a generic greeting while an active task checkpoint exists.
  • Notes/history failures should expose an HTTP status and request ID for diagnosis.
  • Mandatory rollover should avoid repeatedly replaying a nearly full context for checkpoint/reset attempts.

Additional information

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    windows-osIssues related to Codex on Windows systems
    contextIssues related to context management (including compaction)
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on Sep 8, 2026
  2. razdgann commented on Sep 8, 2026

    @razdgann

    A successful checkpoint write is only half of the reliability contract. The replacement context also needs an observable restore event tied to the same task and checkpoint ID.

    I’d record checkpoint creation, restore attempt, restored task identity, and the first post-restore action as separate trace events. If the restore is missing, the task should remain incomplete rather than ending with a generic response.

    We’re exploring this kind of request and workflow reliability tracing in ModelGate: https://github.com/razdgann/modelgate-oss

  3. zlei82083-del commented on Sep 18, 2026

    @zlei82083-del

    我也遇到了同样的问题,一直是优化对话后就停止,通用问候!!!!神经病啊~

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 workingcontextIssues related to context management (including compaction)sessionIssues 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