tinyhumansai/openhuman · error

Missing required parameter: url

Error message

Missing required parameter: url

What it means

Argument-validation guard in the Exa find-similar tool's execute_with_options: the 'url' argument is missing, not a string, or empty after trimming. The JSON schema declares url as required, so this means the model sent a malformed call. Returned as a normal tool error for the model to retry with corrected arguments.

Source

Thrown at src/openhuman/search/tools/exa.rs:598

        true
    }

    async fn execute(&self, args: Value) -> anyhow::Result<ToolResult> {
        self.execute_with_options(args, ToolCallOptions::default())
            .await
    }

    async fn execute_with_options(
        &self,
        args: Value,
        options: ToolCallOptions,
    ) -> anyhow::Result<ToolResult> {
        if let Some(blocked) = self.client.local_only_block() {
            return Ok(blocked);
        }

        let url = non_empty(args.get("url").and_then(Value::as_str))
            .ok_or_else(|| anyhow::anyhow!("Missing required parameter: url"))?;

        let limit = self.client.requested_results(&args);
        let mut body = json!({
            "url": url,
            "numResults": limit,
        });
        if let Some(exclude_source) = args.get("exclude_source_domain").and_then(Value::as_bool) {
            body["excludeSourceDomain"] = json!(exclude_source);
        }
        copy_domain_filter(&args, "include_domains", "includeDomains", &mut body);
        copy_domain_filter(&args, "exclude_domains", "excludeDomains", &mut body);
        if let Some(contents) = contents_request(&args) {
            body["contents"] = contents;
        }

        let results = self.client.post_documents("findSimilar", body).await?;
        Ok(self.client.to_result(
            &results,

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry the call including a non-empty 'url' string parameter (the source URL to find similar pages for).
  2. Ensure the URL is absolute and well-formed; downstream Exa validation may also reject malformed URLs.
  3. If the model repeatedly omits it, surface the tool schema/usage example in the agent prompt.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/search/tools/exa.rs:598 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/3b00a031452c9185. Report an issue: GitHub.