zeroclaw-labs/zeroclaw · error · anyhow::Error
OpenRC service executable path contains unsupported shell ch
Error message
OpenRC service executable path contains unsupported shell characters: {}. Install ZeroClaw at /usr/local/bin/zeroclaw and retry What it means
Error "OpenRC service executable path contains unsupported shell characters: {}. Install ZeroClaw at /usr/local/bin/zeroclaw and retry" thrown in zeroclaw-labs/zeroclaw.
Source
Thrown at crates/zeroclaw-runtime/src/service/mod.rs:1845
if preferred.exists() {
return Ok(preferred.to_path_buf());
}
let exe = std::env::current_exe().context("Failed to resolve current executable")?;
Ok(exe)
}
fn install_linux_openrc(config: &Config) -> Result<()> {
if !is_root() {
bail!(
"OpenRC service installation requires root privileges.\n\
Please run with sudo: sudo zeroclaw service install"
);
}
let exe = resolve_openrc_executable()?;
if !openrc_executable_path_is_safe(&exe) {
bail!(
"OpenRC service executable path contains unsupported shell characters: {}. Install ZeroClaw at /usr/local/bin/zeroclaw and retry",
exe.display()
);
}
ensure_zeroclaw_user()?;
warn_if_binary_in_home(&exe);
let config_dir = Path::new("/etc/zeroclaw");
let workspace_dir = config_dir.join("workspace");
let log_dir = Path::new("/var/log/zeroclaw");
if !config_dir.exists() {
fs::create_dir_all(config_dir)
.with_context(|| format!("Failed to create {}", config_dir.display().to_string()))?;
#[cfg(unix)]
{
use std::os::unix::fs::PermissionsExt;
fs::set_permissions(config_dir, fs::Permissions::from_mode(0o755)).with_context(View on GitHub (pinned to 88bb9c8533)
Solutions
- Install ZeroClaw at /usr/local/bin/zeroclaw (a path without special shell characters) and retry.
When it happens
Trigger: Thrown at crates/zeroclaw-runtime/src/service/mod.rs:1845 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/b8852674c4f4881a.
Report an issue: GitHub.