openai / openai/codex

Native Windows SSH host fails after bootstrap: app-server daemon lifecycle requires Unix

Open
#42,793 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

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

Codex App 26.901.4073

What subscription do you have?

Plus

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Connecting Codex Desktop to a native Windows SSH host fails even though SSH key authentication, Codex CLI availability, and Codex login are all working.

The remote host is Windows 11 with OpenSSH for Windows 9.5 and codex-cli 0.153.2. I configured a POSIX-compatible login shell and verified that sh, codex, and codex app-server --help work through SSH.

Codex Desktop completes the bootstrap command with exit code 0, but the transport then fails with:

transport_connect_failed
errorCode=ECONNRESET
errorMessage="socket hang up"

Running this on the remote Windows host also reports:

Error: codex app-server daemon lifecycle is only supported on Unix platforms

This prevents using a native Windows OpenSSH host as a Codex Desktop SSH remote.

What steps can reproduce the bug?
  1. Use a Windows computer running Codex Desktop.
  2. Configure SSH key authentication to a second native Windows 11 computer running OpenSSH Server.
  3. Add a host alias to ~/.ssh/config with HostName, User, and IdentityFile.
  4. Verify that ssh <host-alias> succeeds without a password prompt.
  5. Install Codex CLI on the remote Windows host and authenticate it.
  6. Ensure codex is available in the remote SSH login shell PATH.
  7. In Codex Desktop, open Settings > Connections > SSH, enable the SSH host, and reconnect.

Observed result:

  • SSH key authentication succeeds.
  • Codex PATH and version probes succeed.
  • Remote app-server bootstrap exits with code 0.
  • The desktop transport immediately fails with ECONNRESET / "socket hang up".
  • codex app-server daemon version on the remote Windows host reports that daemon lifecycle is only supported on Unix platforms.

No session ID or token/context usage is applicable.

What is the expected behavior?

Codex Desktop should either support native Windows OpenSSH hosts for SSH remote projects, or clearly state that SSH remote hosts require a Unix-compatible environment such as Linux or WSL before setup.

When all SSH authentication and remote Codex CLI checks pass, the app should establish the remote app-server connection instead of failing with a socket hang up.

Additional information

This appears related to existing reports #29015, #22965, and #31390. I am submitting this only if additional reproduction data is useful.

All credentials, host identifiers, SSH keys, and personally identifiable information have been redacted.

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 by reproducing the remote flow with codex app-server --help and codex app-server daemon version on a native Windows SSH host. Trace the app-server daemon lifecycle invoked after bootstrap and compare its Unix-only behavior with the SSH transport expectations. Done means native Windows hosts connect successfully, or setup clearly identifies the Unix-compatible environment requirement.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.