{"record":{"id":"18364e11a51002bd","repo":"tinyhumansai/openhuman","slug":"last-error","errorCode":null,"errorMessage":"{last_error}","messagePattern":"\\{last_error\\}","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/tools/impl/browser/browser_open.rs","lineNumber":143,"sourceCode":"            }\n            anyhow::bail!(\n                \"Brave Browser was not found (tried macOS app names 'Brave Browser' and 'Brave')\"\n            );\n        }\n        \"linux\" => {\n            let mut last_error = String::new();\n            for cmd in [\"brave-browser\", \"brave\"] {\n                match tokio::process::Command::new(cmd).arg(url).status().await {\n                    Ok(status) if status.success() => return Ok(()),\n                    Ok(status) => {\n                        last_error = format!(\"{cmd} exited with status {status}\");\n                    }\n                    Err(e) => {\n                        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> {","sourceCodeStart":125,"sourceCodeEnd":161,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/tools/impl/browser/browser_open.rs#L125-L161","documentation":"open_in_brave on Linux exhausted both candidate commands ('brave-browser', 'brave') without a successful launch; the error is the last recorded per-command outcome (non-zero exit status or spawn failure). It is a launcher-absence/launcher-failure report, not a URL problem.","triggerScenarios":"Thrown at src/openhuman/tools/impl/browser/browser_open.rs:143 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Install Brave (brave-browser package) so the command is on PATH.","Fix the underlying failure quoted in the message (permissions, missing library).","Verify `brave-browser <url>` works from a shell."],"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"}