tinyhumansai/openhuman · error · anyhow::Error

Missing 'find_action' for find

Error message

Missing 'find_action' for find

What it means

Guard in parse_browser_action for `find`: `by` and `value` were present but `find_action` (what to do with the located element: click/fill/get_text) is missing. The BrowserAction::Find variant requires all three.

Source

Thrown at src/openhuman/tools/impl/browser/action_parser.rs:138

                .ok_or_else(|| anyhow::anyhow!("Missing 'selector' for is_visible"))?;
            Ok(BrowserAction::IsVisible {
                selector: selector.into(),
            })
        }
        "close" => Ok(BrowserAction::Close),
        "find" => {
            let by = args
                .get("by")
                .and_then(|v| v.as_str())
                .ok_or_else(|| anyhow::anyhow!("Missing 'by' for find"))?;
            let value = args
                .get("value")
                .and_then(|v| v.as_str())
                .ok_or_else(|| anyhow::anyhow!("Missing 'value' for find"))?;
            let action = args
                .get("find_action")
                .and_then(|v| v.as_str())
                .ok_or_else(|| anyhow::anyhow!("Missing 'find_action' for find"))?;
            Ok(BrowserAction::Find {
                by: by.into(),
                value: value.into(),
                action: action.into(),
                fill_value: args
                    .get("fill_value")
                    .and_then(|v| v.as_str())
                    .map(String::from),
            })
        }
        other => anyhow::bail!("Unsupported browser action: {other}"),
    }
}

pub(crate) fn is_supported_browser_action(action: &str) -> bool {
    matches!(
        action,
        "open"

View on GitHub (pinned to 7491200858)

Solutions

  1. Include `find_action` as a string (e.g. click, fill, get_text)
  2. Add `fill_value` too when find_action is fill
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/tools/impl/browser/action_parser.rs:138 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/fb3a9afbf80a65e1. Report an issue: GitHub.