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
- 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.