Skip to content

Codex CLI TUI can remain stuck after completed turn when in-process notification queue is full on Windows #20777

@zmc0218

Description

@zmc0218

What happened?

Codex CLI interactive TUI remains stuck/running after the task has actually completed.

The final assistant answer is persisted in session history. After closing and reopening Codex history, the completed result is visible. However, the live PowerShell/Windows Terminal TUI does not render the final result or return to a completed state.

Environment

  • Codex CLI: 0.128.0
  • OS: Windows 11
  • Shell: PowerShell 7.6.1
  • Terminal: Windows Terminal
  • Working directory: Windows mapped drive, e.g. V:\path\to\large-repo
  • Backing path: UNC/network share, e.g. \\<server>\<share>\path\to\large-repo
  • Node: v24.12.0
  • Install method: npm global @openai/codex

Reproduction pattern

  1. Start Codex CLI interactively with codex.
  2. Work inside a large repository on a Windows mapped drive.
  3. Run a long/complex task with multiple shell/MCP/tool calls.
  4. The task completes and final answer is written to session history.
  5. The live TUI remains stuck and does not show the final answer.
  6. Reopening Codex history shows that the task was completed.

Evidence

Session history contains final assistant message and task_complete.

Example sanitized path:

C:\Users\<user>\.codex\sessions\YYYY\MM\DD\rollout-<timestamp>-<id>.jsonl

The Codex TUI log contains many queue-full warnings around the completion window:

WARN codex_app_server::in_process: dropping in-process server notification (queue full)

Observed count: over 100 such warnings near the final completion time.

Expected behavior

Even if intermediate streaming/progress notifications are dropped under backpressure, the final assistant output and completed turn state should be delivered reliably to the TUI.

The TUI should not remain stuck once the turn is completed and persisted.

Actual behavior

The turn completes and is persisted, but the live TUI does not reliably render the final output or transition to a completed state.

Suspected cause

The in-process app-server notification queue can become full. Some notifications are dropped. TurnCompleted appears to be treated specially, but the final assistant message and/or final TUI state refresh may still be lost or not rendered, leaving the interactive UI stuck.

Relevant source area

  • codex-rs/app-server/src/in_process.rs
  • codex-rs/app-server/src/transport/mod.rs

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLITUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displayapp-serverIssues involving app server protocol or interfacesbugSomething isn't workingwindows-osIssues related to Codex on Windows systems

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions