tinyhumansai/openhuman · error · io::Error
Bubblewrap not found
Error message
Bubblewrap not found
What it means
Constructor guard in BubblewrapSandbox::new(): is_installed() probes for the `bwrap` binary (e.g. via `Command::new("bwrap")` version check) and this error is returned when the probe fails, meaning the bubblewrap user-space sandbox backend cannot be used on this machine because the executable is not on PATH.
Source
Thrown at src/openhuman/security/bubblewrap.rs:15
//! Bubblewrap sandbox (user namespaces for Linux/macOS)
use crate::openhuman::security::traits::Sandbox;
use std::process::Command;
/// Bubblewrap sandbox backend
#[derive(Debug, Clone, Default)]
pub struct BubblewrapSandbox;
impl BubblewrapSandbox {
pub fn new() -> std::io::Result<Self> {
if Self::is_installed() {
Ok(Self)
} else {
Err(std::io::Error::new(
std::io::ErrorKind::NotFound,
"Bubblewrap not found",
))
}
}
pub fn probe() -> std::io::Result<Self> {
Self::new()
}
fn is_installed() -> bool {
Command::new("bwrap")
.arg("--version")
.output()
.map(|o| o.status.success())
.unwrap_or(false)
}
}View on GitHub (pinned to 7491200858)
Solutions
- Install bubblewrap via the system package manager (apt install bubblewrap, dnf install bubblewrap, pacman -S bubblewrap)
- Verify `bwrap --version` succeeds in the same environment the core runs in
- Configure the agent/host to use a different sandbox backend (Docker, landlock, or noop) via sandbox_mode
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/security/bubblewrap.rs:15 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/97096bf481a207ce.
Report an issue: GitHub.