{"record":{"id":"6e836fcacd2e1c92","repo":"zeroclaw-labs/zeroclaw","slug":"invalid-field-url-host-is-required","errorCode":null,"errorMessage":"Invalid {field} URL: host is required","messagePattern":"Invalid (.+?) URL: host is required","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-config/src/schema.rs","lineNumber":10179,"sourceCode":"    }\n    Ok(())\n}\n\nfn validate_proxy_url(field: &str, url: &str) -> Result<()> {\n    let parsed = reqwest::Url::parse(url)\n        .with_context(|| format!(\"Invalid {field} URL: '{url}' is not a valid URL\"))?;\n\n    match parsed.scheme() {\n        \"http\" | \"https\" | \"socks5\" | \"socks5h\" | \"socks\" => {}\n        scheme => {\n            anyhow::bail!(\n                \"Invalid {field} URL scheme '{scheme}'. Allowed: http, https, socks5, socks5h, socks\"\n            );\n        }\n    }\n\n    if parsed.host_str().is_none() {\n        anyhow::bail!(\"Invalid {field} URL: host is required\");\n    }\n\n    Ok(())\n}\n\nfn validate_http_base_url(field: &str, url: &str) -> Result<()> {\n    if url.trim().is_empty() {\n        validation_bail!(\n            RequiredFieldEmpty,\n            field.to_string(),\n            \"{field} must not be empty\"\n        );\n    }\n\n    let parsed = match reqwest::Url::parse(url) {\n        Ok(parsed) => parsed,\n        Err(err) => {\n            validation_bail!(","sourceCodeStart":10161,"sourceCodeEnd":10197,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-config/src/schema.rs#L10161-L10197","documentation":"Error \"Invalid {field} URL: host is required\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-config/src/schema.rs:10179 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Include a host in the proxy URL, e.g. http://proxy.example.com:8080."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}