{"record":{"id":"4d98048b24e96cfb","repo":"tinyhumansai/openhuman","slug":"browser-open-is-not-supported-on-this-os","errorCode":null,"errorMessage":"browser_open is not supported on this OS","messagePattern":"browser_open is not supported on this OS","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/tools/impl/browser/browser_open.rs","lineNumber":157,"sourceCode":"                        last_error = format!(\"{cmd} not runnable: {e}\");\n                    }\n                }\n            }\n            anyhow::bail!(\"{last_error}\");\n        }\n        \"windows\" => {\n            let status = tokio::process::Command::new(\"cmd\")\n                .args([\"/C\", \"start\", \"\", \"brave\", url])\n                .status()\n                .await?;\n\n            if status.success() {\n                return Ok(());\n            }\n\n            anyhow::bail!(\"cmd start brave exited with status {status}\");\n        }\n        _ => anyhow::bail!(\"browser_open is not supported on this OS\"),\n    }\n}\n\nfn normalize_allowed_domains(domains: Vec<String>) -> Vec<String> {\n    let mut normalized = domains\n        .into_iter()\n        .filter_map(|d| normalize_domain(&d))\n        .collect::<Vec<_>>();\n    normalized.sort_unstable();\n    normalized.dedup();\n    normalized\n}\n\nfn normalize_domain(raw: &str) -> Option<String> {\n    let mut d = raw.trim().to_lowercase();\n    if d.is_empty() {\n        return None;\n    }","sourceCodeStart":139,"sourceCodeEnd":175,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/tools/impl/browser/browser_open.rs#L139-L175","documentation":"open_in_brave's catch-all arm rejects any OS other than macOS, Linux, or Windows. browser_open implements launchers only for those three platforms, so on any other target the tool refuses at launch time.","triggerScenarios":"Thrown at src/openhuman/tools/impl/browser/browser_open.rs:157 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use browser_open on a supported desktop OS.","Open the URL manually on unsupported platforms."],"exampleFix":null,"handlingStrategy":"fallback","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"}