{"record":{"id":"b8af85c46a186494","repo":"openai/codex","slug":"client-already-initialized","errorCode":null,"errorMessage":"client already initialized","messagePattern":"client already initialized","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/rmcp-client/src/rmcp_client.rs","lineNumber":602,"sourceCode":"    pub async fn initialize(\n        &self,\n        params: InitializeRequestParams,\n        timeout: Option<Duration>,\n        send_elicitation: SendElicitation,\n    ) -> Result<ServerPeerInfo> {\n        let client_service = ElicitationClientService::new(\n            params.clone(),\n            send_elicitation,\n            self.elicitation_pause_state.clone(),\n        );\n        let pending_transport = {\n            let mut guard = self.state.lock().await;\n            match &mut *guard {\n                ClientState::Connecting { transport } => match transport.take() {\n                    Some(transport) => transport,\n                    None => return Err(anyhow!(\"client already initializing\")),\n                },\n                ClientState::Ready { .. } => return Err(anyhow!(\"client already initialized\")),\n                ClientState::Closed => return Err(anyhow!(\"MCP client is shut down\")),\n            }\n        };\n\n        let (service, oauth_persistor) = self\n            .connect_pending_transport_with_initialize_retries(\n                pending_transport,\n                client_service.clone(),\n                timeout,\n            )\n            .await?;\n\n        let initialize_result_rmcp = service\n            .peer()\n            .peer_info()\n            .ok_or_else(|| anyhow!(\"handshake succeeded but server info was missing\"))?;\n        let initialize_result = initialize_result_rmcp.as_ref().clone();\n","sourceCodeStart":584,"sourceCodeEnd":620,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/rmcp-client/src/rmcp_client.rs#L584-L620","documentation":"Error \"client already initialized\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/rmcp-client/src/rmcp_client.rs:602 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}