What I do
- Provide a safe, composable workflow for CDP-backed browsing tasks
- Use explicit
browser_urlvalues; do not assume a hidden browser singleton - Use
browser_snapshotUIDs for click and fill actions - Confirm state changes after each action with
browser_snapshotorbrowser_eval
Best-practice workflow
- Inspect targets with
browser_list({ browser_url }) - Pick a
target_id, or omit it to use the first page target - Navigate with
browser_navigateif needed - Discover candidates using
browser_snapshot - Click or fill using a UID from the latest snapshot
- Confirm using
browser_snapshotorbrowser_eval
CLI-first debugging
- List all available tools:
npx @different-ai/opencode-browser tools - Run one tool directly:
npx @different-ai/opencode-browser tool browser_list --args '{"browser_url":"http://127.0.0.1:9222"}' - Set a default endpoint:
OPENCODE_BROWSER_URL=http://127.0.0.1:9222 npx @different-ai/opencode-browser status
This path is useful for reproducing CDP endpoint or snapshot issues quickly before running a full OpenCode session.
Available tools
browser_listbrowser_navigatebrowser_snapshotbrowser_clickbrowser_fillbrowser_evalbrowser_screenshot
Troubleshooting
- If
browser_listfails, verify the browser was started with--remote-debugging-port - If
browser_clickorbrowser_fillcannot find a UID, refresh the snapshot first - Use
browser_evalfor page-specific checks that are not visible in the accessibility tree - Confirm results after each action