Hmbown/CodeWhale · error · anyhow::Error
skill '{name}' exists only in a compatible external root; im
Error message
skill '{name}' exists only in a compatible external root; import it with /skills (refusing to write external harness directories) What it means
resolve_owned_skill_by_name found no match in CodeWhale-owned project/global roots, then ran a Compatible-mode scan and discovered the name exists only in a compatible external (harness-managed) root. Because CodeWhale refuses to write into external harness directories, the mutation is refused with guidance to import the skill into an owned root first. The external-only skill name is the input at fault.
Source
Thrown at crates/tui/src/skills/mutation.rs:493
};
matches.retain(|s| s.root.kind == want);
}
match matches.as_slice() {
[] => {
// If the name only exists externally, tell the user to import.
let compatible = scan_with_configured(
ctx.workspace,
ctx.home,
ctx.configured_skills_dir,
SkillAuditMode::Compatible,
None,
);
if compatible.skills.iter().any(|s| {
s.id.canonical_name == canonical
&& s.source_kind == SkillSourceKind::CompatibleExternal
}) {
bail!(
"skill '{name}' exists only in a compatible external root; \
import it with /skills (refusing to write external harness directories)"
);
}
bail!("skill '{name}' not found in CodeWhale-owned project/global roots");
}
[only] => {
let DigestState::Known(digest) = &only.digest else {
bail!("skill '{name}' has unknown package digest; refusing mutation");
};
Ok(ResolvedOwnedSkill {
id: only.id.clone(),
digest: digest.clone(),
})
}
_ => bail!(
"skill '{name}' exists in both project and global CodeWhale roots; \
specify --project or --global"View on GitHub (pinned to 0c42157ee5)
Solutions
- Import the skill into a CodeWhale-owned root with /skills, then retry the mutation
- Operate on the external skill with the external harness's own tooling
- Verify the intended scope if the skill also exists in an owned root under a different name
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/tui/src/skills/mutation.rs:493 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/5df505992bd2629d.
Report an issue: GitHub.