pbakaus/impeccable · error

Install check failed: {e}

Error message

Install check failed: {e}

What it means

In `install --check` (or equivalent check flow), any error outcome other than the known EXIT_1 sentinel is reported as 'Install check failed: {e}' and exits 1. It wraps unexpected internal failures during the install verification.

Source

Thrown at crates/skills/src/commands.rs:665

                out(io, "Existing skills were left unchanged.");
                out(io, "Run with --force to reinstall.\n");
            } else if updated == 0 && written_hook_targets.is_empty() && fresh_written == 0 {
                let v = sys.get_skills_version(&install_root, scope_opt);
                out(io, &format!("Skills are up to date{}.", version_suffix(&v)));
                out(io, "Run with --force to reinstall.\n");
            } else {
                out(io, "Done!\n");
            }
            Ok(())
        })();
        if let Some(dir) = &bundle_dir {
            util::rm_rf(dir);
        }
        return match outcome {
            Ok(()) => Err(Flow::Exit(0)),
            Err(e) if e == EXIT_1 => Err(Flow::Exit(1)),
            Err(e) => {
                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}"));

View on GitHub (pinned to 2bc2879276)

Solutions

  1. Read the wrapped message after 'Install check failed:' for the root cause
  2. Fix the underlying filesystem/permission issue named in the message
  3. Re-run the check after resolving; report a bug if the cause is internal
Defensive patterns

Strategy: try-catch

Validate before calling

if (!fs.existsSync(installRoot)) console.error('Install root missing; nothing to check');

Try / catch

try { await installCheck(); } catch (e) { console.error('Install check failed:', e.message); process.exit(1); }

Prevention

When it happens

Trigger: Running the install check when an internal step returns an unexpected error string/status (e.g. filesystem failure, unexpected command result).

Common situations: Corrupted target directories, permission errors during cleanup (`rm_rf`), or regressions producing non-standard exit payloads.

Understand the failure class

Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.

Related errors


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