Codex WebSocket fallback report (sanitized)
Summary
Codex websocket transport to wss://chatgpt.com/backend-api/codex/responses upgrades successfully and is then immediately closed by server policy (1008), leading to reconnect loop and fallback to HTTPS.
Environment
- OS: Arch Linux (
x86_64), kernel 6.18.9-arch1-2
- Codex CLI:
0.106.0 (also reproduced on 0.107.0-alpha.5)
- Node:
v25.7.0
- npm:
11.10.1
- Auth: ChatGPT login mode
- Features enabled:
responses_websockets_v2 = true
realtime_conversation = true
voice_transcription = true
Repro
codex exec -C /home/arch --skip-git-repo-check --json "Reply with exactly: WS_FINAL_CHECK"
Expected
Websocket transport should remain open and stream should proceed without fallback.
Actual
- Reconnecting retries (2/5..5/5)
- Fallback message:
Falling back from WebSockets to HTTPS transport. stream disconnected before completion...
Key sanitized evidence
INFO connecting to websocket: wss://chatgpt.com/backend-api/codex/responses
INFO successfully connected to websocket: wss://chatgpt.com/backend-api/codex/responses
DEBUG Received close frame: Some(CloseFrame { code: Policy, reason: Utf8Bytes(b"") })
... reconnect loop ...
Falling back from WebSockets to HTTPS transport ...
What was ruled out
- Reproduces on stable + alpha codex CLI.
- Reproduces on
responses_websockets_v2 and legacy responses_websockets.
- No
HTTP_PROXY/HTTPS_PROXY env vars configured.
Attachments (sanitized)
- Evidence is posted inline in issue comments (no local-file dependency).
Codex WebSocket fallback report (sanitized)
Summary
Codex websocket transport to
wss://chatgpt.com/backend-api/codex/responsesupgrades successfully and is then immediately closed by server policy (1008), leading to reconnect loop and fallback to HTTPS.Environment
x86_64), kernel6.18.9-arch1-20.106.0(also reproduced on0.107.0-alpha.5)v25.7.011.10.1responses_websockets_v2 = truerealtime_conversation = truevoice_transcription = trueRepro
Expected
Websocket transport should remain open and stream should proceed without fallback.
Actual
Falling back from WebSockets to HTTPS transport. stream disconnected before completion...Key sanitized evidence
What was ruled out
responses_websockets_v2and legacyresponses_websockets.HTTP_PROXY/HTTPS_PROXYenv vars configured.Attachments (sanitized)