Codex app-server stdout EOF while process remains alive for specific provider-visible context payloads

Open 💬 0 comments Opened Jun 5, 2026 by Astel0504

What version of Codex CLI is running?

codex-cli 0.137.0

What subscription do you have?

ChatGPT Pro

Which model were you using?

_No response_

What platform is your computer?

_No response_

What terminal emulator and version are you using (if applicable)?

_No response_

Codex doctor report

What issue are you seeing?

After initialize, thread/start, and turn/start succeed, stdout reaches EOF while the app-server process remains alive. No turn/completed is emitted. No assistant refusal, safe error code, retry notification, or stderr explanation is observed.
Codex app-server can hit stdout EOF/live-process when certain sensitive provider-visible text is sent in a turn, including via custom context envelope or plain prompt variants. The same selected relationship-memory slice also blocked as a plain prompt, without the custom envelope.

Observed:
initialize succeeds
thread/start succeeds
turn/start succeeds
stdout reaches EOF
process remains alive
no turn/completed
no structured error
no refusal
no stderr diagnostic

Expected:
Every content/safety/provider branch should terminate with turn/completed, response.failed, a structured JSON-RPC error, or process exit.

Environment:
Windows
Codex CLI 0.137.0
JSON-RPC stdio app-server
Direct vendor codex.exe path
No raw payloads retained or submitted

Privacy:
The trigger payload contains private relationship-memory text. I can provide redacted metadata and event counts, but not raw memory bodies.

I have a longer sanitized diagnostic report available privately. It excludes raw trigger payloads, secrets, tokens, headers, base URLs, and private memory bodies. I am avoiding posting it publicly because the trigger class involves private relationship-memory context.

What steps can reproduce the bug?

  1. On Windows, install/run Codex CLI 0.137.0.
  1. Start the Codex app-server over stdio, using the direct vendor codex.exe path if possible.
  1. Open a JSON-RPC app-server session:
  • send initialize
  • send thread/start
  • send turn/start
  1. First verify a control prompt works:
  • send a minimal ordinary prompt, or a neutral memory-context prompt
  • observe assistant deltas and turn/completed
  1. Then send a short relationship-memory-style user turn.

Sanitized shape:
"A compact relationship continuity note from 02-2026 says the user gave their partner affectionate/intense nicknames. Please acknowledge whether this context is available without
quoting it."

  1. Observe the stream.

What is the expected behavior?

The app-server should return a normal terminal event: turn/completed, response failure, refusal, JSON-RPC error, or another explicit error state.

Additional information

Platform: Windows 11
OS version from codex doctor --json: Windows 10.0.22631 (Windows 11 CoreCountrySpecific) [64-bit]
Terminal: PowerShell / Windows terminal environment
Codex CLI: 0.137.0
Install method: npm on windows-x86_64
codex doctor --json overallStatus: ok

This is not reproduced by all prompts. Minimal prompts, neutral memory-context prompts, strict daily/House memory summaries, and workspace-native MEMORY.md availability checks can complete normally. The failure appears tied to specific relationship-memory-style visible turn text or the app-server/provider bridge handling of that payload shape.

View original on GitHub ↗