tinyhumansai/openhuman · error · anyhow::Error

Missing 'url' parameter

Error message

Missing 'url' parameter

What it means

Guard in the browser_open tool's execute: args has no string `url`. This tool opens a URL in Brave Browser and requires url as its only required parameter; the error fires before security/path validation of the URL.

Source

Thrown at src/openhuman/tools/impl/browser/browser_open.rs:83

    fn parameters_schema(&self) -> serde_json::Value {
        json!({
            "type": "object",
            "properties": {
                "url": {
                    "type": "string",
                    "description": "HTTPS URL to open in Brave Browser"
                }
            },
            "required": ["url"]
        })
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        let url = args
            .get("url")
            .and_then(|v| v.as_str())
            .ok_or_else(|| anyhow::anyhow!("Missing 'url' parameter"))?;

        if !self.security.can_act() {
            return Ok(ToolResult::error(
                "[policy-blocked] Action blocked: autonomy is read-only",
            ));
        }

        if !self.security.record_action() {
            return Ok(ToolResult::error("Action blocked: rate limit exceeded"));
        }

        let url = match self.validate_url(url) {
            Ok(v) => v,
            Err(e) => return Ok(ToolResult::error(e.to_string())),
        };

        match open_in_brave(&url).await {
            Ok(()) => Ok(ToolResult::success(format!("Opened in Brave: {url}"))),

View on GitHub (pinned to 7491200858)

Solutions

  1. Include `url` as a string in the tool args
  2. Provide an https:// URL per the tool schema
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/tools/impl/browser/browser_open.rs:83 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/7c86698a04f4e5a6. Report an issue: GitHub.