Windows desktop app hangs on reopen or new thread and gets stuck at "Reconnecting... 5/5" with "timeout waiting for child process to exit"

Resolved 💬 2 comments Opened Apr 13, 2026 by deepni Closed Apr 16, 2026

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

26.409.20454

What subscription do you have?

plus plan

What platform is your computer?

Microsoft Windows NT 10.0.19045.0 x64

What issue are you seeing?

<img width="806" height="278" alt="Image" src="https://github.com/user-attachments/assets/524819f8-eac9-42b2-90b1-314fd734ac6b" />

When I reopen the Codex desktop app after killing the process, or when I start a new thread, the app frequently gets stuck reconnecting and eventually shows:

  • Reconnecting... 5/5
  • timeout waiting for child process to exit

I also saw the same issue earlier with:

  • Reconnecting... 2/5
  • timeout waiting for child process to exit

So the retry count seems to vary, but the failure mode looks the same.

During investigation, I found earlier sandbox-related errors in local logs:

  • helper_firewall_rule_create_or_add_failed
  • SetRemoteAddresses failed

However, later logs showed sandbox setup succeeding, for example:

  • setup refresh: processed ... errors=[]
  • runner launch: exe=...codex-command-runner.exe
  • read ACL run completed

Even after sandbox setup succeeded, Windows Event Viewer still showed app hang events for Codex.exe, including:

  • Application Hang (1002)
  • Windows Error Reporting (1001)
  • MoAppHang
  • hang type: Top level window is idle

Because of that, this looks like more than just a configuration problem. It appears that the Windows desktop app can hang during reopen or new-thread startup, and the visible UI symptom is the reconnect loop ending in timeout waiting for child process to exit.

What steps can reproduce the bug?

Reproduction steps

  1. Launch the Codex desktop app on Windows.
  2. Use the app normally.
  3. Kill the Codex process, then reopen the app.
  4. Alternatively, while the app is open, start a new thread.
  5. Observe that the app sometimes gets stuck in reconnecting and eventually shows:
  • Reconnecting... 5/5
  • timeout waiting for child process to exit

I also observed the same failure mode earlier with:

  • Reconnecting... 2/5
  • timeout waiting for child process to exit

So the retry count may vary, but the bug appears to be the same.

Actual behavior

Instead of recovering cleanly, the desktop app gets stuck reconnecting and eventually fails with timeout waiting for child process to exit.

Expected behavior

Reopening the app or starting a new thread should succeed without the app hanging or getting stuck in reconnect.

Reproducibility

This has happened repeatedly when:

  • reopening the app after killing the process
  • starting a new thread

Code snippet

This does not appear to be triggered by a specific code snippet or prompt. It looks like a desktop app lifecycle / child-process cleanup / reconnect issue rather than a model-output issue.

Session / token / context details

I do not currently have a single minimal session id or token/context usage pattern that consistently triggers it.
The issue appears tied to app reopen / new-thread lifecycle on Windows, not to a specific prompt size, token limit, or context window boundary.

What is the expected behavior?

The Windows desktop app should reopen cleanly after the process is killed, and starting a new thread should work normally.

It should not get stuck at:

  • Reconnecting... 5/5
  • timeout waiting for child process to exit

More generally, child processes should shut down cleanly, reconnect should either succeed or fail with a more actionable error, and the main desktop app should not hang during app startup or new-thread initialization.

Additional information

I reproduced the same issue on three different Windows machines. That makes me think this is unlikely to be a one-off local environment problem and may be a broader Windows desktop app issue.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗