{"record":{"id":"94e2eae283e7c763","repo":"openai/codex","slug":"invalid-remote-control-url-remote-control-url","errorCode":null,"errorMessage":"invalid remote control URL `{remote_control_url}`: {err}","messagePattern":"invalid remote control URL `(.+?)`: (.+?)","errorType":"validation","errorClass":"io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/app-server-transport/src/transport/remote_control/protocol.rs","lineNumber":217,"sourceCode":"        || host.ends_with(\".chatgpt.com\")\n        || host.ends_with(\".chatgpt-staging.com\")\n}\n\nfn is_localhost(host: &Option<Host<&str>>) -> bool {\n    match host {\n        Some(Host::Domain(\"localhost\")) => true,\n        Some(Host::Ipv4(ip)) => ip.is_loopback(),\n        Some(Host::Ipv6(ip)) => ip.is_loopback(),\n        _ => false,\n    }\n}\n\npub(super) fn normalize_remote_control_url(\n    remote_control_url: &str,\n) -> io::Result<RemoteControlTarget> {\n    let remote_control_url = normalize_remote_control_base_url(remote_control_url)?;\n    let map_url_parse_error = |err: url::ParseError| -> io::Error {\n        io::Error::new(\n            ErrorKind::InvalidInput,\n            format!(\"invalid remote control URL `{remote_control_url}`: {err}\"),\n        )\n    };\n\n    let enroll_url = remote_control_url\n        .join(\"wham/remote/control/server/enroll\")\n        .map_err(map_url_parse_error)?;\n    let refresh_url = remote_control_url\n        .join(\"wham/remote/control/server/refresh\")\n        .map_err(map_url_parse_error)?;\n    let pair_url = remote_control_url\n        .join(\"wham/remote/control/server/pair\")\n        .map_err(map_url_parse_error)?;\n    let pair_status_url = remote_control_url\n        .join(\"wham/remote/control/server/pair/status\")\n        .map_err(map_url_parse_error)?;\n    let mut websocket_url = remote_control_url","sourceCodeStart":199,"sourceCodeEnd":235,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/app-server-transport/src/transport/remote_control/protocol.rs#L199-L235","documentation":"Error \"invalid remote control URL `{remote_control_url}`: {err}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/app-server-transport/src/transport/remote_control/protocol.rs:217 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"}