pbakaus/impeccable · error
Nothing was installed: the bundle had no variants for {}.
Error message
Nothing was installed: the bundle had no variants for {}. What it means
Failure report in install's already-installed path: for providers selected but not yet installed (missing_selected_targets), copy_provider_skills wrote zero skills because the freshly downloaded bundle contained no variants for those providers. The sentinel EXIT_1 string is returned so the caller exits 1 without an extra 'Install check failed' line.
Source
Thrown at crates/skills/src/commands.rs:619
if !update_check_skipped && !copy_targets.is_empty() && !bundle::is_up_to_date(&sys, &install_root, ©_targets, &bdir, scope_opt, scope_opt)? {
sys.migrate_unprefix_impeccable(&install_root, scope_opt);
let refreshed = bundle::refresh_provider_skills(&sys, &bdir, &install_root, ©_targets, scope_opt)?;
updated = refreshed.len();
let agents = bundle::copy_provider_agents(&sys, &bdir, &install_root, ©_targets, scope_opt)?;
bundle::report_provider_agents(&sys, io, &agents);
bundle::copy_provider_commands(&sys, &bdir, &install_root, ©_targets, scope_opt);
let v = sys.get_skills_version(&install_root, scope_opt);
out(io, &format!("Updated {updated} skill(s){}.", to_version_suffix(&v)));
install_engine_binaries(&sys, io, &refreshed);
}
let mut fresh_written = 0usize;
if !update_check_skipped && !missing_selected_targets.is_empty() {
let written = bundle::copy_provider_skills(&sys, &bdir, &install_root, &missing_selected_targets, scope_opt)?;
fresh_written = written.len();
if fresh_written == 0 {
err(io, &format!("Nothing was installed: the bundle had no variants for {}.", missing_selected_targets.join(", ")));
return Err(EXIT_1.to_string());
}
out(io, &format!(
"Installed impeccable into: {} ({})",
missing_selected_targets.join(", "),
if scope == Scope::User { "global" } else { "project" }
));
install_engine_binaries(&sys, io, &written);
let agents = bundle::copy_provider_agents(&sys, &bdir, &install_root, &missing_selected_targets, scope_opt)?;
bundle::report_provider_agents(&sys, io, &agents);
}
let written_hook_targets = if !missing_hook_targets.is_empty() {
copy_provider_hooks(&sys, &bdir, &hook_root, &missing_hook_targets, false, Some(&install_root))?
} else {
Vec::new()
};
if !written_hook_targets.is_empty() {View on GitHub (pinned to 2bc2879276)
Solutions
- Rebuild the bundle (`bun run build`) so variants exist
- Use providers that have variants in the bundle
- Inspect the bundle directory to confirm variant folders exist
Example fix
// before impeccable install --providers=unreleased-provider // after bun run build && impeccable install --providers=claude
Defensive patterns
Strategy: validation
Validate before calling
const written = fs.readdirSync(bundleDir).filter(d => targets.includes(d));
if (written.length === 0) console.error('Bundle lacks variants for targets; rebuild first'); Try / catch
try { await install(); } catch (e) { if (/Nothing was installed/.test(String(e))) { console.error('Rebuild bundle for these providers'); } } Prevention
- Run bun run build after every pull
- Confirm variant folders exist in the bundle directory
- Avoid custom/unknown provider aliases
When it happens
Trigger: `impeccable install` with providers that exist in config but have no skill variants in the built bundle directory (`bdir`).
Common situations: Stale or partial builds, custom provider aliases, or a mismatch between the CLI's supported providers and the shipped bundle.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- Nothing was linked: {} had no variants for {}.
- {msg} (dynamic Flow::Throw message, e.g. 'Unknown provider(s
- Pass providers explicitly, e.g. --providers=claude,cursor
- Install check failed: {e}
- Pass one explicitly, e.g. --providers=.claude,.cursor
AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08).
Data as JSON: /api/errors/3f1dd96ae864c611.
Report an issue: GitHub.