Skip to content

codex app-server proxy hangs on WebSocket-framed initialize while direct Unix socket succeeds #25846

@bakemocho

Description

@bakemocho

Summary

codex app-server proxy --sock <default control socket> appears not to forward a WebSocket-framed initialize exchange even though the same WebSocket handshake and masked text frame works directly against the Unix control socket.

This is related to #23572, but this reproduction does not use Content-Length framing. It uses the framing described in codex-rs/app-server/README.md: WebSocket HTTP Upgrade followed by WebSocket frames.

Environment

  • Platform: macOS / Darwin arm64
  • Codex Desktop: 26.527.60818 / build 3437
  • Desktop-bundled codex: codex-cli 0.136.0-alpha.2
  • Standalone current codex: codex-cli 0.135.0
  • codex app-server daemon version:
    • status: running
    • backend: pid
    • managedCodexVersion: 0.135.0
    • cliVersion: 0.136.0-alpha.2
    • appServerVersion: 0.135.0

What I tested

I sent the same minimal app-server initialize request over three transports:

  1. Raw Unix socket connection to the default app-server control socket.
  2. ~/.codex/packages/standalone/current/codex app-server proxy --sock <default control socket>.
  3. Desktop-bundled codex app-server proxy --sock <default control socket>.

For all three, the client input was:

  • HTTP WebSocket Upgrade request.
  • Client-masked WebSocket text frame containing:
{"id":1,"method":"initialize","params":{"clientInfo":{"name":"proxy-repro","version":"0.0.0"},"capabilities":{"experimentalApi":true,"requestAttestation":false}}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLIapp-serverIssues involving app server protocol or interfacesbugSomething isn't workingconnectivityIssues involving networking or endpoint connectivity problems (disconnections)

    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