DioxusLabs/dioxus · error · anyhow::Error
Download failed with status {}: {url}
Error message
Download failed with status {}: {url} What it means
download_bytes got an HTTP response but its status was not success (404, 5xx, etc.) for the requested tool URL. The bundler surfaces the status code and URL so the failing download source can be identified.
Source
Thrown at packages/cli/src/bundler/tools.rs:265
format!("{:x}", hasher.finalize())
}
};
if computed.to_uppercase() != expected_hash.to_uppercase() {
bail!("Hash mismatch for {url}: expected {expected_hash}, got {computed}");
}
Ok(data)
}
/// Download bytes from a URL using the async reqwest client.
pub(crate) async fn download_bytes(url: &str) -> Result<Vec<u8>> {
let response = reqwest::get(url)
.await
.with_context(|| format!("Failed to download {url}"))?;
if !response.status().is_success() {
bail!("Download failed with status {}: {url}", response.status());
}
response
.bytes()
.await
.map(|b| b.to_vec())
.with_context(|| format!("Failed to read response body from {url}"))
}
/// Extract a zip archive to a directory.
fn extract_zip(data: &[u8], dest: &Path) -> Result<()> {
use std::io::Cursor;
let cursor = Cursor::new(data);
let mut archive = zip::ZipArchive::new(cursor).context("Failed to read zip archive")?;
std::fs::create_dir_all(dest)?;
View on GitHub (pinned to 24f6a829df)
Solutions
- The tool download failed with the shown HTTP status. Check network and proxy settings, retry, or install the tool manually.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at packages/cli/src/bundler/tools.rs:265 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/7b2d2c98633e4bd1.
Report an issue: GitHub.