zed-industries/zed · error
Could not auto-update because the required rsync utility was
Error message
Could not auto-update because the required rsync utility was not found.
What it means
On macOS, the auto-installer syncs the new app bundle with rsync; check_dependencies verifies rsync is resolvable on PATH via which::which and aborts the update with this message when it is not. macOS ships /usr/bin/rsync by default, so absence usually means a sanitized PATH in the GUI environment or a removed/modified system.
Source
Thrown at crates/auto_update/src/auto_update.rs:876
current_version,
fetched_version,
))
}
}
}
fn check_dependencies() -> Result<()> {
#[cfg(target_os = "linux")]
if which::which("rsync").is_err() {
let install_hint = linux_rsync_install_hint();
return Err(MissingDependencyError(format!(
"rsync is required for auto-updates but is not installed. {install_hint}"
))
.into());
}
#[cfg(target_os = "macos")]
anyhow::ensure!(
which::which("rsync").is_ok(),
"Could not auto-update because the required rsync utility was not found."
);
Ok(())
}
async fn target_path(installer_dir: &InstallerDir) -> Result<PathBuf> {
let filename = match OS {
"macos" => anyhow::Ok("Zed.dmg"),
"linux" => Ok("zed.tar.gz"),
"windows" => Ok("Zed.exe"),
unsupported_os => anyhow::bail!("not supported: {unsupported_os}"),
}?;
Ok(installer_dir.path().join(filename))
}
View on GitHub (pinned to bc538def45)
Solutions
- Verify rsync exists: run `which -a rsync` and `/usr/bin/rsync --version` in a terminal.
- Install it if missing: `brew install rsync` and ensure the Homebrew bin dir is on PATH for GUI-launched apps.
- Launch Zed normally (Finder/Spotlight) so it inherits the standard system PATH.
- If rsync cannot be restored, download the update manually from zed.dev and replace the app.
Defensive patterns
Strategy: validation
Validate before calling
if cfg!(target_os = "macos") && which::which("rsync").is_err() {
// install rsync or fall back to a manual update before calling the updater
} Prevention
- Keep /usr/bin on PATH for GUI-launched apps
- brew install rsync on stripped systems
- Check dependencies before starting an update flow, not after the download
When it happens
Trigger: An auto-update on macOS where which::which("rsync") returns Err - Zed launched from a launcher/service with a minimal PATH, /usr/bin/rsync deleted, or security tooling blocking execution.
Common situations: GUI processes inheriting a PATH without /usr/bin; rsync uninstalled or blocked by endpoint protection; unusual macOS configurations after system modification.
Related errors
- failed to copy app: {:?}
- failed to copy Zed update from {:?} to {:?}: {:?}
- failed to mount: {:?}
- Could not parse screen resolution
- Path not found: {}
AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16).
Data as JSON: /api/errors/1729464a83f45a3b.
Report an issue: GitHub.