BurntSushi/ripgrep · error · CommandError

system PATH environment variable not found

Error message

system PATH environment variable not found

What it means

Error "system PATH environment variable not found" thrown in BurntSushi/ripgrep.

Source

Thrown at crates/cli/src/decompress.rs:464

/// If `check_exists` is false or the path is already an absolute path this
/// will return immediately.
fn try_resolve_binary<P: AsRef<Path>>(
    prog: P,
) -> Result<PathBuf, CommandError> {
    use std::env;

    fn is_exe(path: &Path) -> bool {
        let Ok(md) = path.metadata() else { return false };
        !md.is_dir()
    }

    let prog = prog.as_ref();
    if prog.is_absolute() {
        return Ok(prog.to_path_buf());
    }
    let Some(syspaths) = env::var_os("PATH") else {
        let msg = "system PATH environment variable not found";
        return Err(CommandError::io(io::Error::new(
            io::ErrorKind::Other,
            msg,
        )));
    };
    for syspath in env::split_paths(&syspaths) {
        if syspath.as_os_str().is_empty() {
            continue;
        }
        let abs_prog = syspath.join(prog);
        if is_exe(&abs_prog) {
            return Ok(abs_prog.to_path_buf());
        }
        if abs_prog.extension().is_none() {
            for extension in ["com", "exe"] {
                let abs_prog = abs_prog.with_extension(extension);
                if is_exe(&abs_prog) {
                    return Ok(abs_prog.to_path_buf());
                }

View on GitHub (pinned to 3fce3b5bb0)

Solutions

  1. Set the PATH environment variable before running the command
  2. Ensure the environment is not stripped (e.g. by env -i or a minimal service environment)

When it happens

Trigger: Thrown at crates/cli/src/decompress.rs:464 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BurntSushi/ripgrep@3fce3b5bb0 (2026-08-06). Data as JSON: /data/errors/29409a4e8b572324.json. Report an issue: GitHub.