tinyhumansai/openhuman · error
invalid provider: {e}
Error message
invalid provider: {e} What it means
parse_provider: the 'provider' argument was present and non-empty, but ProviderSlug::parse rejected it — the string does not name a known task-source provider slug. The parser's own error detail is appended.
Source
Thrown at src/openhuman/integrations/task_sources/tools.rs:48
.map(str::to_string)
.ok_or_else(|| anyhow::anyhow!("missing required string argument `{key}`"))
}
fn opt_u64(args: &serde_json::Value, key: &str) -> Option<u64> {
args.get(key).and_then(serde_json::Value::as_u64)
}
fn opt_str(args: &serde_json::Value, key: &str) -> Option<String> {
args.get(key)
.and_then(serde_json::Value::as_str)
.map(str::trim)
.filter(|s| !s.is_empty())
.map(str::to_string)
}
fn parse_provider(args: &serde_json::Value) -> anyhow::Result<ProviderSlug> {
let raw = read_required_str(args, "provider")?;
ProviderSlug::parse(&raw).map_err(|e| anyhow::anyhow!("invalid provider: {e}"))
}
fn parse_filter(args: &serde_json::Value) -> anyhow::Result<FilterSpec> {
let val = args
.get("filter")
.cloned()
.ok_or_else(|| anyhow::anyhow!("missing required object argument `filter`"))?;
serde_json::from_value(val).map_err(|e| anyhow::anyhow!("invalid filter: {e}"))
}
macro_rules! emit {
($outcome:expr, $name:literal) => {{
let outcome = $outcome.map_err(|e| anyhow::anyhow!(concat!($name, ": {}"), e))?;
Ok(ToolResult::success(serde_json::to_string(&outcome.value)?))
}};
}
/// List configured external task sources.View on GitHub (pinned to 7491200858)
Solutions
- Use a supported provider slug as listed in the tool schema/docs
- Check the parser detail {e} for the accepted slug list
- Fix casing/typo in the slug
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/integrations/task_sources/tools.rs:48 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/6fc35c0cfbb3e667.
Report an issue: GitHub.