tinyhumansai/openhuman · error
missing required boolean argument `show_tray`
Error message
missing required boolean argument `show_tray`
What it means
A required-argument guard in the `daemon_host_prefs_set` service tool: the tool-call arguments carried no usable boolean `show_tray` field — absent, null, or not a JSON boolean. The tool's schema declares `show_tray` as required, so this is a malformed model-issued tool call (or a caller that skipped schema validation), not a service-layer failure.
Source
Thrown at src/openhuman/platform/service/tools.rs:148
fn parameters_schema(&self) -> serde_json::Value {
json!({
"type": "object",
"properties": { "show_tray": { "type": "boolean", "description": "Show the tray icon." } },
"required": ["show_tray"]
})
}
fn permission_level(&self) -> PermissionLevel {
PermissionLevel::Write
}
async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
log::debug!("[tool][service] daemon_host_prefs_set invoked");
let show_tray = args
.get("show_tray")
.and_then(serde_json::Value::as_bool)
.ok_or_else(|| anyhow::anyhow!("missing required boolean argument `show_tray`"))?;
emit!(
ops::daemon_host_set(&self.config, show_tray).await,
"daemon_host_prefs_set"
)
}
}
/// Restart the core process. Default-OFF.
pub struct ServiceRestartTool;
#[async_trait]
impl Tool for ServiceRestartTool {
fn name(&self) -> &str {
"service_restart"
}
fn description(&self) -> &str {
"Request an asynchronous restart of the core process, with optional \View on GitHub (pinned to 7491200858)
Solutions
- Include `"show_tray": true` (or false) as a JSON boolean in the tool call
- When invoking programmatically, validate arguments against the tool schema first
- Do not pass the string `"true"` — the guard requires a genuine boolean
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/platform/service/tools.rs:148 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/7dc1945ff01496ea.
Report an issue: GitHub.