tinyhumansai/openhuman · error

Missing required parameter: entity_type

Error message

Missing required parameter: entity_type

What it means

Argument-validation guard in the Parallel entity-resolution/find-entities tool's execute: 'entity_type' is absent or not a string. The schema requires [objective, entity_type, match_conditions]. This is one of three sequential guards; it fires on malformed model calls before any search is executed.

Source

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

                    "type": "integer",
                    "minimum": 5,
                    "maximum": 1000,
                    "description": "Max candidates to produce (default 10)"
                }
            },
            "required": ["objective", "entity_type", "match_conditions"]
        })
    }

    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"))?;
        let entity_type = args
            .get("entity_type")
            .and_then(|v| v.as_str())
            .ok_or_else(|| anyhow::anyhow!("Missing required parameter: entity_type"))?;
        let match_conditions = args
            .get("match_conditions")
            .and_then(|v| v.as_array())
            .filter(|a| !a.is_empty())
            .ok_or_else(|| anyhow::anyhow!("match_conditions must be a non-empty array"))?;

        let mut body = json!({
            "objective": objective,
            "entityType": entity_type,
            "matchConditions": match_conditions,
        });
        if let Some(g) = args.get("generator").and_then(|v| v.as_str()) {
            body["generator"] = json!(g);
        }
        if let Some(l) = args.get("match_limit").and_then(|v| v.as_u64()) {
            body["matchLimit"] = json!(l.clamp(5, 1000));
        }

View on GitHub (pinned to 7491200858)

Solutions

  1. Retry with 'entity_type' as a non-empty string naming the kind of entity to find (e.g. "company", "person").
  2. Confirm the objective and match_conditions parameters are also present per the required list.
  3. If the entity type is free-form, any descriptive string is acceptable.
Defensive patterns

Strategy: validation

When it happens

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