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

  1. Check network connectivity and any proxy settings, then rerun install.
  2. Retry later if the release host is temporarily down (429/5xx).
  3. Verify the pinned bundle URL/release still exists; update the CLI if the release moved.
  4. 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

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


AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08). Data as JSON: /api/errors/8ca91c46f24e6b6d. Report an issue: GitHub.