tinyhumansai/openhuman · error
{last_error}
Error message
{last_error} What it means
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.
Source
Thrown at src/openhuman/tools/impl/browser/browser_open.rs:143
}
anyhow::bail!(
"Brave Browser was not found (tried macOS app names 'Brave Browser' and 'Brave')"
);
}
"linux" => {
let mut last_error = String::new();
for cmd in ["brave-browser", "brave"] {
match tokio::process::Command::new(cmd).arg(url).status().await {
Ok(status) if status.success() => return Ok(()),
Ok(status) => {
last_error = format!("{cmd} exited with status {status}");
}
Err(e) => {
last_error = format!("{cmd} not runnable: {e}");
}
}
}
anyhow::bail!("{last_error}");
}
"windows" => {
let status = tokio::process::Command::new("cmd")
.args(["/C", "start", "", "brave", url])
.status()
.await?;
if status.success() {
return Ok(());
}
anyhow::bail!("cmd start brave exited with status {status}");
}
_ => anyhow::bail!("browser_open is not supported on this OS"),
}
}
fn normalize_allowed_domains(domains: Vec<String>) -> Vec<String> {View on GitHub (pinned to 7491200858)
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.
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/tools/impl/browser/browser_open.rs:143 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/18364e11a51002bd.
Report an issue: GitHub.