tinyhumansai/openhuman · error

Missing required parameter: objective

Error message

Missing required parameter: objective

What it means

Argument-validation guard in the Parallel research/search tool's execute: the 'objective' argument is missing or not a string (args.get("objective").and_then(as_str) returns None). The tool schema lists objective in required, so this fires on malformed model calls. A separate check right after rejects a whitespace-only objective, so this error strictly means 'parameter absent or wrong type'.

Source

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

                    "default": 10
                },
                "max_characters_per_excerpt": {
                    "type": "integer",
                    "description": "Max characters per excerpt (100-10000, default 500)",
                    "minimum": 100,
                    "maximum": 10000,
                    "default": 500
                }
            },
            "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() {

View on GitHub (pinned to 7491200858)

Solutions

  1. Re-issue the call with 'objective' as a non-empty string describing the search goal.
  2. Confirm the model was shown the tool's required-parameter list (objective, search_queries).
  3. If arguments arrive as nested objects, coerce to string at the call site before invoking.
Defensive patterns

Strategy: validation

When it happens

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