zeroclaw-labs/zeroclaw · error

{entry_path}.{field_name}[{field_index}] must be a non-empty

Error message

{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace

What it means

Error "{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-config/src/schema.rs:15493

    /// homeserver, so it stays required rather than gaining one. Every other
    /// field either declares a serde default or is an `Option`, so this is
    /// the minimal object that makes the deserialize total; those defaults
    /// stay the only source of truth for everything but `homeserver`.
    fn default() -> Self {
        serde_json::from_str(r#"{"homeserver":""}"#)
            .expect("every other MatrixConfig field declares a serde default or is Option")
    }
}

fn validate_stream_tool_argument_names<'a>(
    entry_path: &str,
    field_name: &str,
    fields: &'a [String],
) -> Result<std::collections::HashSet<&'a str>> {
    let mut names = std::collections::HashSet::new();
    for (field_index, field) in fields.iter().enumerate() {
        if field.is_empty() || field.trim() != field {
            anyhow::bail!(
                "{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace"
            );
        }
        if !names.insert(field.as_str()) {
            anyhow::bail!("{entry_path}.{field_name} contains duplicate argument '{field}'");
        }
    }
    Ok(names)
}

impl MatrixConfig {
    /// Effective UTF-8 body budget for Matrix single-message streaming.
    ///
    /// A serialized Matrix event has fixed JSON, message, and relation
    /// overhead in addition to UTF-8 source text. Keeping this floor avoids
    /// accepting a budget that cannot contain even a one-scalar event.
    pub fn effective_message_max_bytes(&self) -> usize {
        self.message_max_bytes.max(MATRIX_MIN_MESSAGE_MAX_BYTES)

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Use a non-empty argument name with no surrounding whitespace for the entry field.

When it happens

Trigger: Thrown at crates/zeroclaw-config/src/schema.rs:15493 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/794bbaea82835638. Report an issue: GitHub.