{"record":{"id":"77bfc40c451fcd2a","repo":"zeroclaw-labs/zeroclaw","slug":"cli-bundle-not-configured","errorCode":"cli-bundle-not-configured","errorMessage":"skill bundle '{$alias}' is not configured","messagePattern":"skill bundle '(.+?)' is not configured","errorType":"console","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/skills/mod.rs","lineNumber":594,"sourceCode":"    bundle: Option<&str>,\n) -> Result<SkillLocation> {\n    let install_root = config.install_root_dir();\n\n    // Validate an explicit --agent up front, so a typo'd alias errors even when\n    // --bundle is also given (which otherwise returns before the agent block).\n    if let Some(a) = agent\n        && config.agent(a).is_none()\n    {\n        anyhow::bail!(\n            \"{}\",\n            get_required_cli_string_with_args(\"cli-skills-agent-not-configured\", &[(\"alias\", a)],)\n        );\n    }\n\n    // 1. An explicit bundle wins outright (mirrors `skills add`/`edit`).\n    if let Some(alias) = bundle {\n        if !config.skill_bundles.contains_key(alias) {\n            anyhow::bail!(\n                \"{}\",\n                get_required_cli_string_with_args(\"cli-bundle-not-configured\", &[(\"alias\", alias)])\n            );\n        }\n        let dir = zeroclaw_config::skill_bundles::resolve_directory(config, &install_root, alias)\n            .map_err(anyhow::Error::msg)?;\n        return Ok(SkillLocation::Bundle {\n            alias: alias.to_string(),\n            dir,\n        });\n    }\n\n    // 2. Pick the target agent: explicit `--agent`, else the active agent.\n    let target_agent: Option<String> = match agent {\n        Some(a) => Some(a.to_string()),\n        None => config.resolved_runtime_agent_alias().map(str::to_string),\n    };\n","sourceCodeStart":576,"sourceCodeEnd":612,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/src/skills/mod.rs#L576-L612","documentation":"`skills install --bundle <alias>` checks the alias against the top-level skill_bundles map before resolving its directory; an alias that is not configured bails with cli-bundle-not-configured and nothing is written. The explicit --bundle branch wins outright, so this check is the first thing that runs for that flag.","triggerScenarios":"--bundle typo or case mismatch; the bundle was renamed or removed earlier; the [skill_bundles] entry lives in a different config file that is not active.","commonSituations":"Team docs referencing bundles not present in a new clone; renaming bundles without updating install scripts; fresh environments where `skills bundle add` was never run.","solutions":["List configured bundles (`zeroclaw skills bundle list`) and use the exact alias","Create the bundle first: `zeroclaw skills bundle add <alias>`","Install without --bundle to fall back to the agent's bundle or the global dir","Quote the alias in scripts to avoid shell expansion"],"exampleFix":"# before\nzeroclaw skills install ./my-skill --bundle team\n\n# after\nzeroclaw skills bundle add team\nzeroclaw skills install ./my-skill --bundle team","handlingStrategy":"validation","validationCode":"if let Some(alias) = bundle {\n    if !config.skill_bundles.contains_key(alias) {\n        eprintln!(\"bundle '{alias}' not configured; run: zeroclaw skills bundle add {alias}\");\n        return;\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Create bundles (`skills bundle add`) in the same provisioning script that installs into them","List bundles with `skills bundle list` when bootstrapping a new environment","Treat bundle aliases as case-sensitive config keys"],"tags":["cli","skills","install","bundles","config"],"backgroundTag":"config-reference-not-found","analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}