tinyhumansai/openhuman · error · io::Error

Landlock is only supported on Linux

Error message

Landlock is only supported on Linux

What it means

Stub-implementation error from LandlockSandbox::with_workspace in the cfg(not(all(sandbox-landlock, linux))) build: identical to the new() stub, it reports that the landlock backend was compiled out of this binary (feature off or non-Linux target) and therefore cannot be constructed with any workspace directory.

Source

Thrown at src/openhuman/security/landlock.rs:167

        "Linux kernel LSM sandboxing (filesystem access control)"
    }
}

// Stub implementations for non-Linux or when feature is disabled
#[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))]
pub struct LandlockSandbox;

#[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))]
impl LandlockSandbox {
    pub fn new() -> std::io::Result<Self> {
        Err(std::io::Error::new(
            std::io::ErrorKind::Unsupported,
            "Landlock is only supported on Linux with the sandbox-landlock feature",
        ))
    }

    pub fn with_workspace(_workspace_dir: Option<std::path::PathBuf>) -> std::io::Result<Self> {
        Err(std::io::Error::new(
            std::io::ErrorKind::Unsupported,
            "Landlock is only supported on Linux",
        ))
    }

    pub fn probe() -> std::io::Result<Self> {
        Err(std::io::Error::new(
            std::io::ErrorKind::Unsupported,
            "Landlock is only supported on Linux",
        ))
    }
}

#[cfg(not(all(feature = "sandbox-landlock", target_os = "linux")))]
impl Sandbox for LandlockSandbox {
    fn wrap_command(&self, _cmd: &mut std::process::Command) -> std::io::Result<()> {
        Err(std::io::Error::new(
            std::io::ErrorKind::Unsupported,

View on GitHub (pinned to 7491200858)

Solutions

  1. Rebuild the core with the sandbox-landlock feature on Linux
  2. Route sandboxing to a backend compiled into this build (docker, bubblewrap, firejail, or the platform jail)
  3. Treat ErrorKind::Unsupported from sandbox constructors as 'backend absent', not retriable
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at src/openhuman/security/landlock.rs:167 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/e12942b6361f7fec. Report an issue: GitHub.