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

  1. 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.