tinyhumansai/openhuman · error

Missing required parameter: search_queries

Error message

Missing required parameter: search_queries

What it means

Argument-validation guard in the Parallel search tool's execute: 'search_queries' is absent or not a JSON array (and_then(as_array) yields None). The schema requires it alongside objective. Fires when the calling model omits the field or passes a string/object instead of an array of strings.

Source

Thrown at src/openhuman/search/tools/parallel.rs:183

            },
            "required": ["objective", "search_queries"]
        })
    }

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

        if objective.trim().is_empty() {
            return Ok(ToolResult::error("objective cannot be empty"));
        }

        let search_queries = args
            .get("search_queries")
            .and_then(|v| v.as_array())
            .ok_or_else(|| anyhow::anyhow!("Missing required parameter: search_queries"))?;

        if search_queries.is_empty() {
            return Ok(ToolResult::error(
                "search_queries must contain at least one query",
            ));
        }

        let mut queries: Vec<&str> = Vec::with_capacity(search_queries.len());
        for (i, v) in search_queries.iter().enumerate() {
            match v.as_str() {
                Some(s) if !s.trim().is_empty() => queries.push(s),
                Some(_) => {
                    return Ok(ToolResult::error(format!(
                        "search_queries[{i}] is an empty string"
                    )));
                }
                None => {
                    return Ok(ToolResult::error(format!(

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry with 'search_queries' as an array of query strings (e.g. ["rust async runtime"]).
  2. If a single query was intended, wrap it in a one-element array.
  3. Check the advertised JSON schema to remind the model of the array type.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/search/tools/parallel.rs:183 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/b06973d6fdfe717b. Report an issue: GitHub.