{"record":{"id":"e26a091f4e43f3f9","repo":"zeroclaw-labs/zeroclaw","slug":"unsupported-find-action-action-use-click-fill","errorCode":null,"errorMessage":"Unsupported find_action '{action}'. Use click/fill/text/hover/check","messagePattern":"Unsupported find_action '(.+?)'\\. Use click/fill/text/hover/check","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/browser.rs","lineNumber":1850,"sourceCode":"                            json!({\"result\": \"text\", \"text\": text})\n                        }\n                        \"hover\" => {\n                            hover_element(client, &element).await?;\n                            json!({\"result\": \"hovered\"})\n                        }\n                        \"check\" => {\n                            let checked_before = element_checked(&element).await?;\n                            if !checked_before {\n                                element.click().await?;\n                            }\n                            let checked_after = element_checked(&element).await?;\n                            json!({\n                                \"result\": \"checked\",\n                                \"checked_before\": checked_before,\n                                \"checked_after\": checked_after,\n                            })\n                        }\n                        _ => anyhow::bail!(\n                            \"Unsupported find_action '{action}'. Use click/fill/text/hover/check\"\n                        ),\n                    };\n\n                    Ok(json!({\n                        \"backend\": \"rust_native\",\n                        \"action\": \"find\",\n                        \"by\": by,\n                        \"value\": value,\n                        \"selector\": selector,\n                        \"data\": payload,\n                    }))\n                }\n            }\n        }\n\n        pub async fn reset_session(&mut self) {\n            if let Some(client) = self.client.take() {","sourceCodeStart":1832,"sourceCodeEnd":1868,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/browser.rs#L1832-L1868","documentation":"The find action locates an element by `by`/`value`, then dispatches on find_action: click, fill (which additionally requires fill_value), text, hover, and check. The final match arm rejects every other string, so a mistyped or unsupported find_action fails before any element interaction.","triggerScenarios":"Sending {\"action\": \"find\", \"by\": \"id\", \"value\": \"submit\", \"find_action\": \"submit\"} — also 'select', 'clear', 'read', or capitalized variants like 'Click' (case-sensitive).","commonSituations":"Models proposing form verbs the tool does not implement (select, upload, focus); case drift from examples; forgetting that reading text is \"text\", not \"read\".","solutions":["Use one of click/fill/text/hover/check exactly, lowercase","For fill, also include fill_value — a separate error fires when it is missing","Constrain find_action in the tool schema or prompt examples to the five legal values"],"exampleFix":"// before\n{\"action\": \"find\", \"by\": \"id\", \"value\": \"out\", \"find_action\": \"read\"}\n// after\n{\"action\": \"find\", \"by\": \"id\", \"value\": \"out\", \"find_action\": \"text\"}","handlingStrategy":"validation","validationCode":"const FIND_ACTIONS: &[&str] = &[\"click\", \"fill\", \"text\", \"hover\", \"check\"];\nif !FIND_ACTIONS.contains(&find_action) {\n    return Err(format!(\"unsupported find_action: {find_action}\"));\n}\nif find_action == \"fill\" && fill_value.is_none() {\n    return Err(\"find_action='fill' requires fill_value\".into());\n}","typeGuard":null,"tryCatchPattern":"match tool.execute(args).await {\n    Ok(res) => { /* ... */ }\n    Err(e) if e.to_string().contains(\"Unsupported find_action\") => {\n        // replace with one of click/fill/text/hover/check\n    }\n    Err(e) => return Err(e),\n}","preventionTips":["Whitelist find_action at the orchestration layer","Include the five legal values in prompt examples given to models","Remember 'text' (not 'read') retrieves element text"],"tags":["browser","find","enum","argument-validation"],"backgroundTag":"unsupported-parameter-value","analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}