zeroclaw-labs/zeroclaw · error · anyhow::Error

unknown catalog '{name}'; valid: {valid}

Error message

unknown catalog '{name}'; valid: {valid}

What it means

Error "unknown catalog '{name}'; valid: {valid}" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at src/main.rs:3337

            let names: Vec<&str> = list
                .split(',')
                .map(str::trim)
                .filter(|s| !s.is_empty())
                .collect();
            let mut out = Vec::new();
            for name in &names {
                match zeroclaw_config::schema::FTL_CATALOGS
                    .iter()
                    .find(|(n, _, _)| n == name)
                {
                    Some(entry) => out.push(entry),
                    None => {
                        let valid = zeroclaw_config::schema::FTL_CATALOGS
                            .iter()
                            .map(|(n, _, _)| *n)
                            .collect::<Vec<_>>()
                            .join(", ");
                        bail!("unknown catalog '{name}'; valid: {valid}");
                    }
                }
            }
            out
        }
    };

    let dest = zeroclaw_config::schema::ftl_locale_dir(&locale)?;
    std::fs::create_dir_all(&dest).with_context(|| format!("creating {}", dest.display()))?;
    // Confinement check: the resolved dest must live under the data-dir FTL root.
    let ftl_root = dest
        .parent()
        .map(Path::to_path_buf)
        .unwrap_or_else(|| dest.clone());
    let canon_dest = std::fs::canonicalize(&dest).unwrap_or_else(|_| dest.clone());
    let canon_root = std::fs::canonicalize(&ftl_root).unwrap_or(ftl_root);
    if !canon_dest.starts_with(&canon_root) {
        bail!("refusing to write outside the FTL data directory");

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Use one of the valid catalog names listed in the error message.
  2. Check for typos in the catalog name; names are case-sensitive.

When it happens

Trigger: Thrown at src/main.rs:3337 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/9e559578e1be4090. Report an issue: GitHub.