Hmbown/CodeWhale · error · anyhow::Error
unknown provider '{slug}'. Known: {}
Error message
unknown provider '{slug}'. Known: {} What it means
resolve_provider received a --provider slug that ProviderInfo::from_slug does not recognize; the message lists the known provider slugs. A typo or an unsupported provider.
Source
Thrown at crates/tui/src/remote_setup/mod.rs:188
bail!(
"--bridge is required in --non-interactive mode. {}",
bridge_choices()
);
}
let idx = prompt_choice(
"Chat bridge",
&BRIDGES
.iter()
.map(|b| format!("{} ({})", b.display, b.slug))
.collect::<Vec<_>>(),
)?;
Ok(&BRIDGES[idx])
}
fn resolve_provider(args: &RemoteSetupArgs) -> Result<ProviderInfo> {
if let Some(slug) = &args.provider {
return ProviderInfo::from_slug(slug).ok_or_else(|| {
anyhow::anyhow!(
"unknown provider '{slug}'. Known: {}",
codewhale_config::ProviderKind::names_hint()
)
});
}
if args.non_interactive {
bail!(
"--provider is required in --non-interactive mode. Known: {}",
codewhale_config::ProviderKind::names_hint()
);
}
// List providers by their canonical names from the existing registry.
let providers: Vec<ProviderInfo> = codewhale_config::ProviderKind::all()
.iter()
.filter_map(|kind| ProviderInfo::from_slug(kind.as_str()))
.collect();
let labels: Vec<String> = providers
.iter()View on GitHub (pinned to 0c42157ee5)
Solutions
- Re-run with one of the listed provider slugs
- Drop --provider to select from the interactive menu
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/remote_setup/mod.rs:188 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/2b4b93a1fd3ea0b2.
Report an issue: GitHub.