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

No configured model verified for target model_provider

Error message

No configured model verified for target model_provider

What it means

In verify (--check) mode, run_configured_models tests each configured model and counts ok/warning/error outcomes. When a provider override was supplied and ok == 0, no model under that provider verified successfully, so the command exits with this error; per-model error details are printed in the table above it.

Source

Thrown at crates/zeroclaw-runtime/src/doctor/mod.rs:990

                        );
                    }
                    _ => {
                        warn += 1;
                        println!(
                            "    model: {model}  ⚠️  unverified: {}",
                            truncate_for_display(&text, 140)
                        );
                    }
                }
            }
        }
        println!();
    }

    if verify {
        println!("  Connectivity: {ok} ok, {warn} warning, {error} errors");
        if provider_override.is_some() && ok == 0 {
            anyhow::bail!("No configured model verified for target model_provider");
        }
    } else {
        let n = entries.len();
        println!("  {n} provider{} configured", if n == 1 { "" } else { "s" });
    }

    Ok(())
}

pub fn run_traces(
    config: &Config,
    id: Option<&str>,
    event_filter: Option<&str>,
    contains: Option<&str>,
    limit: usize,
) -> Result<()> {
    let path = crate::observability::runtime_trace::resolve_trace_path(
        &config.observability,

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Check the provider api_key and endpoint first — a single bad credential fails every model at once
  2. Fix or remove stale model ids under the provider
  3. Re-run --check and confirm at least one model verifies
Defensive patterns

Strategy: try-catch

Validate before calling

// cheap pre-flight: credentials present for every model under the provider
if let Some(alias) = provider_override {
    if let Some(entry) = config.providers.models.get(alias) {
        if entry.api_key.as_deref().map(str::trim).unwrap_or("").is_empty() {
            anyhow::bail!("provider '{alias}' has no api_key — verification will fail for all its models");
        }
    }
}

Try / catch

match zeroclaw_runtime::doctor::run_configured_models(&config, Some(&alias), true).await {
    Err(err) if err.to_string().contains("No configured model verified") => {
        eprintln!("zero models under '{alias}' verified — check api_key, endpoint, and model ids (details above)");
    }
    other => other?,
}

Prevention

When it happens

Trigger: Configured-models verification with both --check and a provider filter where every model under that provider fails verification (bad key, unreachable endpoint, wrong model id).

Common situations: A wrong api_key fails all models of a provider at once; the model id in config was retired by the provider; regional network blocks to the provider endpoint.

Related errors


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/4bcb983740ca3246. Report an issue: GitHub.