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

set_default requires at least one of: model_provider, model,

Error message

set_default requires at least one of: model_provider, model, temperature

What it means

Error "set_default requires at least one of: model_provider, model, temperature" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-tools/src/model_routing_config.rs:538

                    }
                }
            }))?
            .into(),
            error: None,
        })
    }

    async fn handle_set_default(&self, args: &Value) -> anyhow::Result<ToolResult> {
        let provider_update = Self::parse_optional_string_update(args, "model_provider")?;
        let model_update = Self::parse_optional_string_update(args, "model")?;
        let temperature_update = Self::parse_optional_f64_update(args, "temperature")?;

        let any_update = !matches!(provider_update, MaybeSet::Unset)
            || !matches!(model_update, MaybeSet::Unset)
            || !matches!(temperature_update, MaybeSet::Unset);

        if !any_update {
            anyhow::bail!(
                "set_default requires at least one of: model_provider, model, temperature"
            );
        }

        let mut cfg = self.load_config_without_env()?;

        // Determine which models entry to update.
        let (type_k, alias_k) = match &provider_update {
            MaybeSet::Set(model_provider) => model_provider
                .split_once('.')
                .map(|(t, a)| (t.to_string(), a.to_string()))
                .unwrap_or_else(|| (model_provider.clone(), "default".to_string())),
            MaybeSet::Null | MaybeSet::Unset => {
                // Update whichever entry already exists, or create a placeholder.
                cfg.providers
                    .models
                    .iter_entries()
                    .next()

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Pass at least one of model_provider, model, or temperature to set_default.

When it happens

Trigger: Thrown at crates/zeroclaw-tools/src/model_routing_config.rs:538 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/35207c52e9de80f8. Report an issue: GitHub.