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

Unknown cron shell_output_format value: {other:?}

Error message

Unknown cron shell_output_format value: {other:?}

What it means

Error "Unknown cron shell_output_format value: {other:?}" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-runtime/src/cron/store.rs:1160

    allowed_tools
        .map(serde_json::to_string)
        .transpose()
        .context("Failed to serialize cron allowed_tools")
}

fn decode_shell_output_format(raw: Option<&str>) -> Result<CronShellOutputFormat> {
    // Exact match against the canonical `#[serde(rename_all = "snake_case")]`
    // spellings, not a JSON-string round trip: wrapping arbitrary stored text
    // in quotes and handing it to a JSON parser would let an escape sequence
    // in the raw column (e.g. `raw`) decode as a different value than
    // what was actually persisted.
    match raw {
        None => {
            anyhow::bail!("cron shell_output_format column is NULL; schema requires TEXT NOT NULL")
        }
        Some("wrapped") => Ok(CronShellOutputFormat::Wrapped),
        Some("raw") => Ok(CronShellOutputFormat::Raw),
        Some(other) => anyhow::bail!("Unknown cron shell_output_format value: {other:?}"),
    }
}

fn decode_allowed_tools(raw: Option<&str>) -> Result<Option<Vec<String>>> {
    if let Some(raw) = raw {
        let trimmed = raw.trim();
        if !trimmed.is_empty() {
            return serde_json::from_str(trimmed)
                .map(Some)
                .with_context(|| format!("Failed to parse cron allowed_tools JSON: {trimmed}"));
        }
    }
    Ok(None)
}

pub fn sync_declarative_jobs(
    config: &Config,
    decls: &std::collections::HashMap<String, zeroclaw_config::schema::CronJobDecl>,

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Use a recognized shell_output_format value (e.g. text or json).

When it happens

Trigger: Thrown at crates/zeroclaw-runtime/src/cron/store.rs:1160 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/249466f8cfb4fc6f. Report an issue: GitHub.