{"record":{"id":"5d255d2ce67fe7fb","repo":"tinyhumansai/openhuman","slug":"browser-computer-use-timeout-ms-must-be-0","errorCode":null,"errorMessage":"browser.computer_use.timeout_ms must be > 0","messagePattern":"browser\\.computer_use\\.timeout_ms must be > 0","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/tools/impl/browser/browser.rs","lineNumber":153,"sourceCode":"\n    fn rust_native_available(&self) -> bool {\n        #[cfg(feature = \"browser-native\")]\n        {\n            native_backend::NativeBrowserState::is_available(\n                self.native_headless,\n                &self.native_webdriver_url,\n                self.native_chrome_path.as_deref(),\n            )\n        }\n        #[cfg(not(feature = \"browser-native\"))]\n        {\n            false\n        }\n    }\n\n    fn computer_use_endpoint_url(&self) -> anyhow::Result<reqwest::Url> {\n        if self.computer_use.timeout_ms == 0 {\n            anyhow::bail!(\"browser.computer_use.timeout_ms must be > 0\");\n        }\n\n        let endpoint = self.computer_use.endpoint.trim();\n        if endpoint.is_empty() {\n            anyhow::bail!(\"browser.computer_use.endpoint cannot be empty\");\n        }\n\n        let parsed = reqwest::Url::parse(endpoint).map_err(|_| {\n            anyhow::anyhow!(\n                \"Invalid browser.computer_use.endpoint: '{endpoint}'. Expected http(s) URL\"\n            )\n        })?;\n\n        let scheme = parsed.scheme();\n        if scheme != \"http\" && scheme != \"https\" {\n            anyhow::bail!(\"browser.computer_use.endpoint must use http:// or https://\");\n        }\n","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/tools/impl/browser/browser.rs#L135-L171","documentation":"computer_use_endpoint_url validates the computer-use sidecar configuration and rejects timeout_ms == 0, since a zero timeout would make every sidecar HTTP call fail instantly. It fires at backend resolution when browser.computer_use.timeout_ms in config.toml is unset/zero.","triggerScenarios":"Thrown at src/openhuman/tools/impl/browser/browser.rs:153 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set browser.computer_use.timeout_ms to a positive millisecond value in config.toml.","Remove the zero override so the default timeout applies."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}