tinyhumansai/openhuman · error · anyhow::Error

missing required string argument `provider`

Error message

missing required string argument `provider`

What it means

The credentials `oauth_connect` tool was called without a usable `provider` string — the arg is missing, not a string, or trims to empty. Provider is the only required argument, and without it the OAuth connect-url lookup has nothing to resolve, so the guard fires before any flow starts.

Source

Thrown at src/openhuman/security/credentials/tools.rs:167

    }
    fn parameters_schema(&self) -> serde_json::Value {
        json!({
            "type": "object",
            "properties": {
                "provider": { "type": "string" },
                "skill_id": { "type": "string" }
            },
            "required": ["provider"]
        })
    }
    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][credentials] oauth_connect invoked");
        let provider = args
            .get("provider")
            .and_then(Value::as_str)
            .map(str::trim)
            .filter(|s| !s.is_empty())
            .ok_or_else(|| anyhow::anyhow!("missing required string argument `provider`"))?;
        let skill_id = args.get("skill_id").and_then(Value::as_str);
        emit!(
            credentials::oauth_connect(&self.config, provider, skill_id, None, None).await,
            "oauth_connect_url"
        )
    }
}

/// List available OAuth integrations.
pub struct OAuthListTool {
    config: Arc<Config>,
}
impl OAuthListTool {
    pub fn new(config: Arc<Config>) -> Self {
        Self { config }
    }
}
#[async_trait]

View on GitHub (pinned to 7491200858)

Solutions

  1. Pass `provider` as a non-empty string naming an OAuth provider
  2. Check the provider spelling against the supported provider list
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/security/credentials/tools.rs:167 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/b8853257fa1273f8. Report an issue: GitHub.