tinyhumansai/openhuman · error · anyhow::Error
Missing 'selector' for click
Error message
Missing 'selector' for click
What it means
Action-argument validation in parse_browser_action, the dispatcher that turns the browser tool's `action`+args into a BrowserAction: the `click` action was requested but its required `selector` argument is absent or not a string. Fires before any browser automation runs; this is a per-action guard (each action validates only its own parameters).
Source
Thrown at src/openhuman/tools/impl/browser/action_parser.rs:35
"snapshot" => Ok(BrowserAction::Snapshot {
interactive_only: args
.get("interactive_only")
.and_then(serde_json::Value::as_bool)
.unwrap_or(true),
compact: args
.get("compact")
.and_then(serde_json::Value::as_bool)
.unwrap_or(true),
depth: args
.get("depth")
.and_then(serde_json::Value::as_u64)
.map(|d| u32::try_from(d).unwrap_or(u32::MAX)),
}),
"click" => {
let selector = args
.get("selector")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'selector' for click"))?;
Ok(BrowserAction::Click {
selector: selector.into(),
})
}
"fill" => {
let selector = args
.get("selector")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'selector' for fill"))?;
let value = args
.get("value")
.and_then(|v| v.as_str())
.ok_or_else(|| anyhow::anyhow!("Missing 'value' for fill"))?;
Ok(BrowserAction::Fill {
selector: selector.into(),
value: value.into(),
})
}View on GitHub (pinned to 7491200858)
Solutions
- Include `selector` as a string in the click args
- Take the selector from a prior snapshot's interactive elements
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/openhuman/tools/impl/browser/action_parser.rs:35 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/3eef74bb5a5e8fbb.
Report an issue: GitHub.