tinyhumansai/openhuman · error
delegate agent "{name}" has empty model
Error message
delegate agent "{name}" has empty model What it means
Doctor delegate-agent check: iterating config.agents alphabetically, the named [[agents]] entry has an empty `model` field. Delegate agents are spawned with their own model; an empty model leaves the agent without an inference target, so any turn dispatched to it fails at provider resolution or unexpectedly inherits a default.
Source
Thrown at src/openhuman/platform/doctor/core.rs:354
|| cc.lark.is_some()
|| cc.webhook.is_some();
if has_channel {
items.push(DiagnosticItem::ok(cat, "at least one channel configured"));
} else {
items.push(DiagnosticItem::warn(
cat,
"no channels configured - configure one in the UI",
));
}
// Delegate agents
let mut agent_names: Vec<_> = config.agents.keys().collect();
agent_names.sort();
for name in agent_names {
let agent = config.agents.get(name).unwrap();
if agent.model.trim().is_empty() {
items.push(DiagnosticItem::warn(
cat,
format!("delegate agent \"{name}\" has empty model"),
));
}
}
}
fn embedding_provider_validation_error(name: &str) -> Option<String> {
let normalized = name.trim();
if normalized.eq_ignore_ascii_case("none") || normalized.eq_ignore_ascii_case("openai") {
return None;
}
let Some(url) = normalized.strip_prefix("custom:") else {
return Some("supported values: none, openai, custom:<url>".into());
};
let url = url.trim();View on GitHub (pinned to 7491200858)
Solutions
- Set `model` to a concrete model id on the named [[agents.<name>]] entry
- Confirm the model is served by the configured backend before saving
- Remove the agent entry if it is a leftover from testing
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/platform/doctor/core.rs:354 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/33c9088ad0559d5a.
Report an issue: GitHub.