{"record":{"id":"418a0cf8bde40979","repo":"zeroclaw-labs/zeroclaw","slug":"unsupported-browser-action-other","errorCode":null,"errorMessage":"Unsupported browser action: {other}","messagePattern":"Unsupported browser action: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/browser.rs","lineNumber":2547,"sourceCode":"                    ::zeroclaw_log::record!(\n                        WARN,\n                        ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)\n                            .with_outcome(::zeroclaw_log::EventOutcome::Failure),\n                        \"browser: Missing 'find_action' for find\"\n                    );\n                    anyhow::Error::msg(\"Missing 'find_action' for find\")\n                })?;\n            Ok(BrowserAction::Find {\n                by: by.into(),\n                value: value.into(),\n                action: action.into(),\n                fill_value: args\n                    .get(\"fill_value\")\n                    .and_then(|v| v.as_str())\n                    .map(String::from),\n            })\n        }\n        other => anyhow::bail!(\"Unsupported browser action: {other}\"),\n    }\n}\n\n// ── Helper functions ─────────────────────────────────────────────\n\nfn is_supported_browser_action(action: &str) -> bool {\n    matches!(\n        action,\n        \"open\"\n            | \"snapshot\"\n            | \"click\"\n            | \"fill\"\n            | \"type\"\n            | \"get_text\"\n            | \"get_title\"\n            | \"get_url\"\n            | \"screenshot\"\n            | \"wait\"","sourceCodeStart":2529,"sourceCodeEnd":2565,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/browser.rs#L2529-L2565","documentation":"parse_browser_action maps the action string onto the BrowserAction enum (open, snapshot, click, fill, press, hover, scroll, is_visible, close, find, and siblings); any unrecognized string falls into the `other` arm and bails. This is the top-level dispatch for the browser tool, so the action name must exactly match the supported set exposed by is_supported_browser_action and the tool schema.","triggerScenarios":"Sending {\"action\": \"navigate\"}, {\"action\": \"type\"}, or {\"action\": \"get_url\"} — any synonym, typo, or renamed action string.","commonSituations":"LLMs using Playwright-style verbs (goto, type) instead of ZeroClaw's names; version drift after actions were renamed; stale prompt documentation listing old action names.","solutions":["Check the tool's action list (is_supported_browser_action / parameters schema) and use an exact supported name","Map common synonyms in your orchestration layer before dispatch (navigate→open, type→fill)","Regenerate or update tool documentation and prompt examples after upgrading ZeroClaw"],"exampleFix":"// before\n{\"action\": \"navigate\", \"url\": \"https://example.com\"}\n// after\n{\"action\": \"open\", \"url\": \"https://example.com\"}","handlingStrategy":"validation","validationCode":"fn is_supported(action: &str) -> bool {\n    matches!(\n        action,\n        \"open\" | \"snapshot\" | \"click\" | \"fill\" | \"press\" | \"hover\"\n            | \"scroll\" | \"is_visible\" | \"close\" | \"find\"\n    )\n}\nif !is_supported(&action) {\n    return Err(format!(\"unsupported browser action: {action}\"));\n}","typeGuard":null,"tryCatchPattern":"match tool.execute(args).await {\n    Ok(res) => { /* ... */ }\n    Err(e) if e.to_string().contains(\"Unsupported browser action\") => {\n        // consult the tool schema and resend with a supported action name\n    }\n    Err(e) => return Err(e),\n}","preventionTips":["Keep an action-name allowlist in the calling layer and validate before dispatch","After upgrading ZeroClaw, re-check the action list for renames","Give the model the tool's parameters_schema, not paraphrased docs"],"tags":["browser","action","dispatch","argument-validation"],"backgroundTag":"unsupported-action-name","analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}