zeroclaw-labs/zeroclaw · error · anyhow::Error

OpenRC runtime user 'zeroclaw' cannot write {} ({details}).

Error message

OpenRC runtime user 'zeroclaw' cannot write {} ({details}). Re-run `sudo zeroclaw service install` and ensure ownership is zeroclaw:zeroclaw.

What it means

Error "OpenRC runtime user 'zeroclaw' cannot write {} ({details}). Re-run `sudo zeroclaw service install` and ensure ownership is zeroclaw:zeroclaw." thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-runtime/src/service/mod.rs:1741

    let (program, args) = build_openrc_writability_probe_command(path, has_runuser);
    let output = Command::new(&program)
        .args(args.iter().map(String::as_str))
        .output()
        .with_context(|| {
            format!(
                "Failed to verify OpenRC runtime write access for {}",
                path.display()
            )
        })?;

    if !output.status.success() {
        let stderr = String::from_utf8_lossy(&output.stderr);
        let details = if stderr.trim().is_empty() {
            "write-access probe failed"
        } else {
            stderr.trim()
        };
        bail!(
            "OpenRC runtime user 'zeroclaw' cannot write {} ({details}). \
             Re-run `sudo zeroclaw service install` and ensure ownership is zeroclaw:zeroclaw.",
            path.display().to_string(),
        );
    }

    Ok(())
}

#[cfg(unix)]
fn ensure_openrc_runtime_dirs_writable(
    config_dir: &Path,
    workspace_dir: &Path,
    log_dir: &Path,
) -> Result<()> {
    for path in [config_dir, workspace_dir, log_dir] {
        ensure_openrc_runtime_path_writable(path)?;
    }

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Re-run `sudo zeroclaw service install` and ensure the path is owned by zeroclaw:zeroclaw.

When it happens

Trigger: Thrown at crates/zeroclaw-runtime/src/service/mod.rs:1741 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/5d09eb27aecc1fa8. Report an issue: GitHub.