{"record":{"id":"6569c084f83784e4","repo":"openai/codex","slug":"remote-exec-server-registration-url-must-include-a","errorCode":null,"errorMessage":"remote exec-server registration URL must include a host","messagePattern":"remote exec-server registration URL must include a host","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/main.rs","lineNumber":2028,"sourceCode":"    if auth_manager.is_workload_identity_selected() {\n        Ok(codex_model_provider::auth_provider_from_auth_manager(\n            auth_manager,\n            &auth,\n        ))\n    } else {\n        Ok(codex_model_provider::auth_provider_from_auth(&auth))\n    }\n}\n\nfn is_supported_exec_server_remote_auth(auth: &CodexAuth) -> bool {\n    auth.is_chatgpt_auth() || auth.is_api_key_auth()\n}\n\nfn validate_api_key_remote_host(base_url: &str) -> anyhow::Result<()> {\n    let url = url::Url::parse(base_url)\n        .map_err(|err| anyhow::anyhow!(\"invalid remote exec-server registration URL: {err}\"))?;\n    let host = url.host().ok_or_else(|| {\n        anyhow::anyhow!(\"remote exec-server registration URL must include a host\")\n    })?;\n\n    let is_loopback = match &host {\n        url::Host::Domain(host) => host.eq_ignore_ascii_case(\"localhost\"),\n        url::Host::Ipv4(ip) => ip.is_loopback(),\n        url::Host::Ipv6(ip) => ip.is_loopback(),\n    };\n    let is_openai_host = match &host {\n        url::Host::Domain(host) => [\"openai.com\", \"openai.org\"].into_iter().any(|domain| {\n            host.eq_ignore_ascii_case(domain)\n                || host.to_ascii_lowercase().ends_with(&format!(\".{domain}\"))\n        }),\n        _ => false,\n    };\n    let is_allowed = match url.scheme() {\n        \"https\" => is_loopback || is_openai_host,\n        \"http\" => is_loopback,\n        _ => false,","sourceCodeStart":2010,"sourceCodeEnd":2046,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/main.rs#L2010-L2046","documentation":"Error \"remote exec-server registration URL must include a host\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/main.rs:2028 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"}