pbakaus/impeccable · error
Download failed: {e}
Error message
Download failed: {e} What it means
During `install`, the tool downloads the skills bundle (`bundle::download_and_extract_bundle`). Any network, HTTP, or extraction failure is surfaced as 'Download failed: {e}' and install exits 1. The temp bundle directory is not retained on failure.
Source
Thrown at crates/skills/src/commands.rs:683
err(io, &format!("Install check failed: {e}"));
Err(Flow::Exit(1))
}
};
}
if targets.is_empty() {
err(io, "Could not determine a target harness folder.");
err(io, "Pass one explicitly, e.g. --providers=.claude,.cursor");
return Err(Flow::Exit(1));
}
let want_hooks = install_hooks && decide_hook_install(&mut prompt, io, &hook_root, &targets, yes)?;
out(io, "\nDownloading impeccable skills...");
let bundle_dir = match bundle::download_and_extract_bundle(&sys) {
Ok(d) => d,
Err(e) => {
err(io, &format!("Download failed: {e}"));
return Err(Flow::Exit(1));
}
};
sys.migrate_unprefix_impeccable(&install_root, scope_opt);
let outcome: Result<(Vec<String>, Vec<bundle::AgentResult>, Vec<&'static str>), String> = (|| {
let written = bundle::copy_provider_skills(&sys, &bundle_dir, &install_root, &targets, scope_opt)?;
let agents = bundle::copy_provider_agents(&sys, &bundle_dir, &install_root, &targets, scope_opt)?;
bundle::copy_provider_commands(&sys, &bundle_dir, &install_root, &targets, scope_opt);
let hooks = if want_hooks {
copy_provider_hooks(&sys, &bundle_dir, &hook_root, &targets, force, Some(&install_root))?
} else {
Vec::new()
};
Ok((written, agents, hooks))
})();
let (written, agent_results, hook_targets) = match outcome {View on GitHub (pinned to 2bc2879276)
Solutions
- Check network connectivity and any proxy settings, then rerun install.
- Retry later if the release host is temporarily down (429/5xx).
- Verify the pinned bundle URL/release still exists; update the CLI if the release moved.
- Check free disk space and write permissions in the temp directory.
Example fix
// before (offline machine) impeccable install # Download failed: error sending request // after # restore connectivity or configure proxy, then impeccable install --providers=.claude
Defensive patterns
Strategy: retry
Validate before calling
curl -fsSI https://github.com >/dev/null || { echo "no network"; exit 1; } Try / catch
for i in 1 2 3; do impeccable install --providers=.claude && break; sleep $((i*5)); done
Prevention
- Check connectivity/proxy settings before running install in CI.
- Pin and verify the CLI version matches a still-published release.
- Ensure adequate temp disk space on install machines.
When it happens
Trigger: `install` when the bundle download fails: no internet connection, DNS failure, GitHub/release-host 4xx/5xx response, proxy blocking the request, or the downloaded archive failing to extract (corrupt/partial download, disk full).
Common situations: Offline or corporate-proxy environments; the release asset URL changed or the release was removed; transient network blips; antivirus or disk-permission issues blocking extraction.
Understand the failure class
Background: 'Something went wrong' / 'Request failed (500)' / 'HTTP error! status: 404' — what failed HTTP requests actually mean and how to find the real cause — this error's family across 28 libraries.
Related errors
- Could not download the impeccable engine v{version} for {os}
- serve-question: server failed to start{}
- serve-question: log at {}. A sandboxed exec that cannot list
- Error: listen EADDRINUSE: {}
- Live server not running. Start one with: {cmd}
AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08).
Data as JSON: /api/errors/8ca91c46f24e6b6d.
Report an issue: GitHub.