openai/codex · error · ExecServerError

timed out connecting to exec-server websocket `{url}` after

Error message

timed out connecting to exec-server websocket `{url}` after {timeout:?}

What it means

Error "timed out connecting to exec-server websocket `{url}` after {timeout:?}" thrown in openai/codex.

Source

Thrown at codex-rs/exec-server/src/client.rs:632

    ) -> BoxFuture<
        '_,
        Result<(crate::HttpRequestResponse, crate::HttpResponseBodyStream), ExecServerError>,
    > {
        async move { self.get().await?.http_request_stream(params).await }.boxed()
    }
}

impl LazyRemoteExecServerClient {
    pub(crate) async fn environment_info(&self) -> Result<EnvironmentInfo, ExecServerError> {
        self.get().await?.environment_info().await
    }
}

#[derive(Debug, thiserror::Error)]
pub enum ExecServerError {
    #[error("failed to spawn exec-server: {0}")]
    Spawn(#[source] std::io::Error),
    #[error("timed out connecting to exec-server websocket `{url}` after {timeout:?}")]
    WebSocketConnectTimeout { url: String, timeout: Duration },
    #[error("failed to connect to exec-server websocket `{url}`: {source}")]
    WebSocketConnect {
        url: String,
        #[source]
        source: tokio_tungstenite::tungstenite::Error,
    },
    #[error("failed to configure exec-server websocket: {0}")]
    WebSocketConfiguration(String),
    #[error("timed out waiting for exec-server initialize handshake after {timeout:?}")]
    InitializeTimedOut { timeout: Duration },
    #[error("exec-server transport closed")]
    Closed,
    #[error("{0}")]
    Disconnected(String),
    #[error("failed to serialize or deserialize exec-server JSON: {0}")]
    Json(#[from] serde_json::Error),
    #[error("HTTP request failed: {0}")]

View on GitHub (pinned to 339751715c)

Solutions

  1. Check that exec-server is listening at {url}; increase the connect timeout if the server is slow.

When it happens

Trigger: Thrown at codex-rs/exec-server/src/client.rs:632 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of openai/codex@339751715c (2026-08-25). Data as JSON: /api/errors/a9c0a9ab9a82a5ee. Report an issue: GitHub.