Hmbown/CodeWhale · error

owned skill parent {} does not exist

Error message

owned skill parent {} does not exist

What it means

validate_owned_target_chain found the anchor present but the <anchor>/.codewhale directory missing while require_existing is true. The mutation targets an installed skill inside an owned root that has not been initialized (or was deleted), so there is no owned package tree to mutate. The missing .codewhale directory is the input at fault; creation is allowed only when require_existing is false.

Source

Thrown at crates/tui/src/skills/mutation.rs:191

        bail!(
            "refusing to mutate non-canonical CodeWhale skills root {}",
            skills_dir.display()
        );
    }

    let anchor_exists = checked_real_directory(anchor)?;
    if !anchor_exists {
        if require_existing {
            bail!("owned skill anchor {} does not exist", anchor.display());
        }
        return Ok(());
    }

    let codewhale_dir = anchor.join(".codewhale");
    let codewhale_exists = checked_real_directory(&codewhale_dir)?;
    if !codewhale_exists {
        if require_existing {
            bail!(
                "owned skill parent {} does not exist",
                codewhale_dir.display()
            );
        }
        return Ok(());
    }

    let skills_exists = checked_real_directory(skills_dir)?;
    if !skills_exists {
        if require_existing {
            bail!("owned skill root {} does not exist", skills_dir.display());
        }
        return Ok(());
    }

    let canonical_anchor = fs::canonicalize(anchor)
        .with_context(|| format!("failed to resolve owned anchor {}", anchor.display()))?;
    let canonical_skills = fs::canonicalize(skills_dir).with_context(|| {

View on GitHub (pinned to 0c42157ee5)

Solutions

  1. Initialize the owned skills root by running an install in that scope first
  2. If the directory was removed intentionally, re-scan and re-import the skill
  3. Check you are operating in the intended project/home scope
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/tui/src/skills/mutation.rs:191 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/5db4a59933db4531. Report an issue: GitHub.