zed-industries/zed · error
Autoupdate failed, nothing to rollback
Error message
Autoupdate failed, nothing to rollback
What it means
The Windows update helper runs a fixed list of JOBS (staged copy/move operations) with per-job retries and a 2-second budget; when the run aborts and no job ever succeeded (last_successful_job is None), there is nothing to roll back and it bails with this message. The installation is unchanged - the old binary is still in place.
Source
Thrown at crates/auto_update_helper/src/updater.rs:413
log::error!("Operation failed (retrying): {}", err);
std::thread::sleep(Duration::from_millis(50));
}
},
None => {
log::error!("Operation failed with unexpected error, aborting: {}", err);
break 'outer;
}
},
}
}
}
if last_successful_job
.map(|job| job != JOBS.len() - 1)
.unwrap_or(true)
{
let Some(last_successful_job) = last_successful_job else {
anyhow::bail!("Autoupdate failed, nothing to rollback");
};
for job in (0..=last_successful_job).rev() {
let job = &JOBS[job];
if let Err(e) = (job.rollback)(app_dir) {
anyhow::bail!(
"Job rollback failed, the app might be left in an inconsistent state: ({:?})",
e
);
}
}
anyhow::bail!("Autoupdate failed, rollback successful");
}
if launch {
#[allow(clippy::disallowed_methods, reason = "doesn't run in the main binary")]
let _ = std::process::Command::new(app_dir.join("Zed.exe")).spawn();View on GitHub (pinned to bc538def45)
Solutions
- Make sure every Zed process has exited (check Task Manager for Zed.exe, zed.exe, remote servers) and retry the update.
- Run Zed (and thus the helper) with write access to the app directory.
- Temporarily disable antivirus real-time scanning for the app dir and retry.
- If it persists, reinstall from zed.dev - nothing was changed, so the old install is safe.
Defensive patterns
Strategy: fallback
Validate before calling
// before invoking the helper, ensure no Zed processes are alive terminate_processes(["Zed.exe", "zed.exe", "zed-remote-server.exe"]);
Try / catch
treat this message as 'no changes were made': keep the current binary, notify 'update failed, will retry later', and schedule a retry once processes have exited.
Prevention
- Exit the app fully before the helper runs
- Grant write access to the app dir
- Exclude the app dir from antivirus real-time scanning
When it happens
Trigger: The very first job in JOBS fails - a file-not-found io error aborts immediately, or retries exhaust the 2s budget because files in the app dir are locked by a still-running process or denied by permissions.
Common situations: The main Zed process or a lingering remote server still holds handles to files in the app dir; antivirus locking new files; the helper launched with insufficient privileges.
Related errors
- failed to start installer: {:?}
- Job rollback failed, the app might be left in an inconsisten
- Autoupdate failed, rollback successful
- Could not get screen resolution on Windows
- Failed to send Windows-drive sandbox warning: {error}
AI-assisted analysis of zed-industries/zed@bc538def45 (2026-08-16).
Data as JSON: /api/errors/db4f5b91b651b4e1.
Report an issue: GitHub.