{"record":{"id":"3df732482afad322","repo":"zeroclaw-labs/zeroclaw","slug":"host-host-not-in-browser-allowed-domains","errorCode":null,"errorMessage":"Host '{host}' not in browser.allowed_domains","messagePattern":"Host '(.+?)' not in browser\\.allowed_domains","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/browser.rs","lineNumber":493,"sourceCode":"            format!(\"[{host_str}]\")\n        } else {\n            host_str.to_lowercase()\n        };\n\n        let private_host = domain_guard::is_private_or_local_host(&host);\n        let private_host_allowed = private_host\n            && domain_guard::host_matches_allowlist(&host, &self.allowed_private_hosts);\n\n        if private_host && !private_host_allowed {\n            anyhow::bail!(\"Blocked local/private host: {host}\");\n        }\n\n        if private_host_allowed {\n            return Ok(());\n        }\n\n        if !domain_guard::host_matches_allowlist(&host, &self.allowed_domains) {\n            anyhow::bail!(\"Host '{host}' not in browser.allowed_domains\");\n        }\n\n        Ok(())\n    }\n\n    /// Execute an agent-browser command\n    async fn run_command(&self, args: &[&str]) -> anyhow::Result<AgentBrowserResponse> {\n        let mut cmd = self.agent_browser_command();\n\n        // Add --json for machine-readable output\n        cmd.args(args).arg(\"--json\");\n\n        ::zeroclaw_log::record!(\n            DEBUG,\n            ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Note),\n            &format!(\"Running: agent-browser {} --json\", args.join(\" \"))\n        );\n","sourceCodeStart":475,"sourceCodeEnd":511,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/browser.rs#L475-L511","documentation":"Error \"Host '{host}' not in browser.allowed_domains\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-tools/src/browser.rs:493 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the host to browser.allowed_domains in config.toml, or use an allowed host."],"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"}