Hmbown/CodeWhale · error · anyhow::Error
skill '{name}' has unknown package digest; refusing mutation
Error message
skill '{name}' has unknown package digest; refusing mutation What it means
resolve_owned_skill_by_name found exactly one matching owned skill, but its DigestState is Unknown — the on-disk package could not be hashed to a known digest. Mutations require a verified digest so content can be checked against the audit; without it the operation could act on unverified or corrupted content. The undigestable/unknown-digest skill package is the input at fault.
Source
Thrown at crates/tui/src/skills/mutation.rs:502
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"
),
}
}
fn find_audited_skill(
ctx: &MutationContext<'_>,
skill_id: &AuditedSkillId,
) -> Result<(AuditedSkill, PathBuf)> {
let snap = scan_with_configured(View on GitHub (pinned to 0c42157ee5)
Solutions
- Re-run the skills scan so the package digest is recomputed and cached
- Inspect the skill directory for corruption or unreadable files blocking digest computation
- Reinstall the skill to restore a well-formed package
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/skills/mutation.rs:502 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/bbf04c19bccbbe53.
Report an issue: GitHub.