{"record":{"id":"b937111057b155fb","repo":"tinyhumansai/openhuman","slug":"rust-native-browser-backend-is-not-compiled-rebui","errorCode":null,"errorMessage":"Rust-native browser backend is not compiled. Rebuild with --features browser-native","messagePattern":"Rust-native browser backend is not compiled\\. Rebuild with --features browser-native","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/tools/impl/browser/browser.rs","lineNumber":523,"sourceCode":"\n            let output = state\n                .execute_action(\n                    action,\n                    self.native_headless,\n                    &self.native_webdriver_url,\n                    self.native_chrome_path.as_deref(),\n                )\n                .await?;\n\n            Ok(ToolResult::success(\n                serde_json::to_string_pretty(&output).unwrap_or_default(),\n            ))\n        }\n\n        #[cfg(not(feature = \"browser-native\"))]\n        {\n            let _ = action;\n            anyhow::bail!(\n                \"Rust-native browser backend is not compiled. Rebuild with --features browser-native\"\n            )\n        }\n    }\n\n    async fn execute_playwright_action(&self, action: BrowserAction) -> anyhow::Result<ToolResult> {\n        if let BrowserAction::Open { url } = &action {\n            debug!(\"[browser] validating playwright open url before dispatch\");\n            self.validate_url(url)?;\n        }\n\n        let mut state = self.playwright_state.lock().await;\n        let output = state\n            .execute_action(\n                action,\n                self.native_headless,\n                Some(playwright_backend::BrowserUrlPolicy {\n                    allowed_domains: self.allowed_domains.clone(),","sourceCodeStart":505,"sourceCodeEnd":541,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/tools/impl/browser/browser.rs#L505-L541","documentation":"The rust-native action execution path was reached in a binary compiled without the 'browser-native' feature (the cfg(not) stub). Unlike resolve_backend, which gates earlier, this fires if execution still selects the rust-native path; the fix is a rebuild.","triggerScenarios":"Thrown at src/openhuman/tools/impl/browser/browser.rs:523 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rebuild the core with --features browser-native.","Route the action through an available backend (playwright, agent-browser, computer_use)."],"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-14T05:17:10.506Z"}