DioxusLabs/dioxus · error · anyhow::Error
Executable not found in {}
Error message
Executable not found in {} What it means
Post-extraction guard in self_update: after downloading and extracting the update archive into the install directory, the expected dx (or dx.exe on Windows) executable was not found in that directory. This means the extracted archive's layout did not contain the binary where expected — the input at fault is the extracted release archive contents versus the expected executable name.
Source
Thrown at packages/cli/src/cli/update.rs:169
"application/octet-stream".parse().unwrap(),
)
.download_to(archive_file)
.context("Failed to download update")?;
let install_dir = install_dir.join("dx");
_ = std::fs::remove_dir_all(&install_dir);
self_update::Extract::from_source(&archive_path)
.extract_into(&install_dir)
.context("Failed to extract update")?;
let exe = if cfg!(target_os = "windows") {
"dx.exe"
} else {
"dx"
};
let executable = install_dir.join(exe);
if !executable.exists() {
bail!("Executable not found in {}", install_dir.display());
}
tracing::info!(
"Successfully downloaded update in {}ms! 👍",
start.elapsed().as_millis()
);
if self.install {
tracing::info!(
"Installing dx v{} to {}",
latest.version,
std::env::current_exe()?.display()
);
if !self.force {
tracing::warn!("Continue? (y/n)");
print!(" > ");
std::io::stdout()View on GitHub (pinned to 24f6a829df)
Solutions
- The executable was not found in the downloaded archive. Re-download the release; report a bug if the release layout changed.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cli/src/cli/update.rs:169 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of DioxusLabs/dioxus@24f6a829df (2026-08-23).
Data as JSON: /api/errors/8c8d1865fdad8ac3.
Report an issue: GitHub.