openai/codex · error · io::Error
timed out connecting to remote control websocket at `{}` aft
Error message
timed out connecting to remote control websocket at `{}` after {:?} What it means
Error "timed out connecting to remote control websocket at `{}` after {:?}" thrown in openai/codex.
Source
Thrown at codex-rs/app-server-transport/src/transport/remote_control/websocket.rs:1366
io::Error::other("missing remote control enrollment after enrollment step")
})?;
(auth, enrollment)
};
let request = build_remote_control_websocket_request(
&remote_control_target.websocket_url,
&enrollment,
connect_options.installation_id,
connect_options.subscribe_cursor,
)
.await?;
let websocket_connect_result = tokio::time::timeout(
REMOTE_CONTROL_WEBSOCKET_CONNECT_TIMEOUT,
connect_async(request),
)
.await
.map_err(|_| {
io::Error::new(
ErrorKind::TimedOut,
format!(
"timed out connecting to remote control websocket at `{}` after {:?}",
remote_control_target.websocket_url, REMOTE_CONTROL_WEBSOCKET_CONNECT_TIMEOUT
),
)
})?;
match websocket_connect_result {
Ok((websocket_stream, response)) => Ok((websocket_stream, response.map(|_| ()))),
Err(err) => {
match &err {
tungstenite::Error::Http(response)
if websocket_response_reports_missing_remote_app_server(response) =>
{
info!(
"remote control websocket returned HTTP 404; replacing stale enrollment: websocket_url={}, account_id={}, server_id={}, environment_id={}",
remote_control_target.websocket_url,View on GitHub (pinned to 339751715c)
When it happens
Trigger: Thrown at codex-rs/app-server-transport/src/transport/remote_control/websocket.rs:1366 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of openai/codex@339751715c (2026-08-25).
Data as JSON: /api/errors/b495b3e787ae483e.
Report an issue: GitHub.