tinyhumansai/openhuman · error
invalid arguments for whatsapp_data_list_messages: {e}
Error message
invalid arguments for whatsapp_data_list_messages: {e} What it means
The whatsapp_data_list_messages tool arguments failed to deserialize into its request type: `chat_id` (required) missing, or limit/offset of the wrong JSON type. Wraps serde's field-level error with the tool-name prefix before any bus call.
Source
Thrown at src/openhuman/channels/whatsapp_data/tools/list_messages.rs:72
"type": "integer",
"minimum": 1,
"description": "Maximum messages to return (default 100)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
}
},
"required": ["chat_id"]
})
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][whatsapp_data] list_messages invoked");
let req: ListMessagesRequest = serde_json::from_value(args).map_err(|e| {
log::debug!("[tool][whatsapp_data] list_messages invalid_args error={e}");
anyhow::anyhow!("invalid arguments for whatsapp_data_list_messages: {e}")
})?;
log::debug!(
"[tool][whatsapp_data] list_messages args has_account={} has_chat=true limit={:?} offset={:?} has_since={} has_until={}",
req.account_id.is_some(),
req.limit,
req.offset,
req.since_ts.is_some(),
req.until_ts.is_some(),
);
let messages: Vec<WhatsAppMessage> =
match BUS.native().request(methods::LIST_MESSAGES, req).await {
Ok(messages) => messages,
Err(e) if is_handler_absent(&e) => {
log::debug!(
"[tool][whatsapp_data] list_messages handler_absent — degrading ({e})"
);
let body = serde_json::to_string(&json!({
"provider": "whatsapp",View on GitHub (pinned to 7491200858)
Solutions
- Include the required `chat_id` string
- Use integer limit >= 1 and offset >= 0
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/channels/whatsapp_data/tools/list_messages.rs:72 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/22a4121f8ca24c12.
Report an issue: GitHub.