tinyhumansai/openhuman · error

Missing 'message' parameter

Error message

Missing 'message' parameter

What it means

pushover's execute validates 'message' after the read-only and rate-limit gates pass; the value must be a string that trims to non-empty. This fires on missing, non-string, or whitespace-only message, before credentials are loaded.

Source

Thrown at src/openhuman/tools/impl/system/pushover.rs:146

    // generating ghost approvals.

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        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 message = args
            .get("message")
            .and_then(|v| v.as_str())
            .map(str::trim)
            .filter(|v| !v.is_empty())
            .ok_or_else(|| anyhow::anyhow!("Missing 'message' parameter"))?
            .to_string();

        let title = args.get("title").and_then(|v| v.as_str()).map(String::from);

        let priority = match args.get("priority").and_then(|v| v.as_i64()) {
            Some(value) if (-2..=2).contains(&value) => Some(value),
            Some(value) => {
                return Ok(ToolResult::error(format!(
                    "Invalid 'priority': {value}. Expected integer in range -2..=2"
                )))
            }
            None => None,
        };

        let sound = args.get("sound").and_then(|v| v.as_str()).map(String::from);

        let (token, user_key) = self.get_credentials().await?;

View on GitHub (pinned to 7491200858)

Solutions

  1. Include a non-empty "message" string in the notification arguments
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/tools/impl/system/pushover.rs:146 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/09492fffd7815583. Report an issue: GitHub.