
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
open-browser-use
Advanced tools
This npm package installs the open-browser-use native host and CLI binary.
It also exposes the short obu command.
The CLI is useful when your agent runtime is shell-first or when you want a small action plan instead of a JavaScript/Python SDK script.
npm install -g open-browser-use
obu version
The package contains prebuilt Go binaries for macOS, Linux, and Windows on
amd64 and arm64.
Run open-browser-use with no subcommand to print the CLI version, browser
extension status, extension version when available, and the next setup or
upgrade command.
After installation, run setup to register the Chrome native messaging host and open the Chrome Web Store page for the matching extension:
open-browser-use setup
Install or enable Open Browser Use from that page, then restart Chrome if Chrome asks or the extension does not appear immediately.
If the Chrome Web Store item is temporarily unavailable, use the latest GitHub Release zip as an unpacked extension instead:
open-browser-use setup beta
That command opens chrome://extensions/ and reveals a keyed release ZIP so
the user can drag it into Chrome with a stable fallback extension id.
Verify the browser connection:
open-browser-use ping
open-browser-use info
Use direct subcommands for simple inspection and single browser actions:
open-browser-use tabs
open-browser-use user-tabs
open-browser-use history --query "browser use" --limit 20
open-browser-use name-session --name "Docs scan - OBU"
open-browser-use open-tab --url https://docs.browser-use.com
open-browser-use navigate --tab-id <tab-id> --url https://github.com/iFurySt/open-codex-browser-use
open-browser-use cdp --tab-id <tab-id> --method Runtime.evaluate --params '{"expression":"document.title","returnByValue":true}'
open-browser-use finalize-tabs --keep '[]'
Use --socket <path> when a runtime gives you a specific Open Browser Use
socket. Otherwise the CLI discovers /tmp/open-browser-use/active.json.
Direct subcommands and run use the same default browser session,
obu-cli, so a final open-browser-use finalize-tabs --keep '[]' cleans up
tabs opened by either style. Pass --session-id <id> only when you intentionally
want a separate tab group and cleanup scope.
Use run when you want CLI-level orchestration without writing JS or Python.
The format is intentionally small: one action per line, optional # comments,
shell-like quotes, shared session/turn, and a default tab set by open-tab or
claim-tab.
open-browser-use run -c '
name-session "Docs scan - OBU"
open-tab https://docs.browser-use.com
wait-load domcontentloaded
page-info
finalize-tabs []
'
You can also load the same action plan from a file:
open-browser-use run --file ./docs-scan.obu
Supported actions:
ping, info, tabs, user-tabs, turn-endedopen-tab, claim-tab, navigate, wait-load, page-infohistory, cdp, callmove-mouse, wait-file-chooser, set-file-chooser-filesfinalize-tabsExample with explicit CDP and default tab reuse:
open-browser-use run -c '
name-session "GitHub issue scan - OBU"
open-tab https://github.com/iFurySt/open-codex-browser-use/issues
wait-load domcontentloaded
cdp Runtime.evaluate "{\"expression\":\"document.body.innerText.slice(0, 1000)\",\"returnByValue\":true}"
finalize-tabs []
'
Example claiming an existing user tab:
open-browser-use run -c '
claim-tab <tab-id>
page-info
finalize-tabs [{"tabId":<tab-id>,"status":"handoff"}]
'
Use mcp when an agent runtime supports local MCP servers over stdio:
obu mcp
For Codex, add a server entry similar to this in ~/.codex/config.toml:
[mcp_servers.open_browser_use]
command = "obu"
args = ["mcp"]
The MCP server exposes browser tools such as user_tabs, open_tab,
claim_tab, navigate, wait_load, page_info, cdp, history,
run_action_plan, finalize_tabs, and unrestricted call. It uses the same
socket discovery as the CLI; pass --socket <path> or --socket-dir <dir> in
args only when the runtime needs an explicit socket.
Use call when no convenience command or action exists:
open-browser-use call --method getInfo --params '{}'
open-browser-use call --method executeCdp --params '{"target":{"tabId":123},"method":"Runtime.evaluate","commandParams":{"expression":"document.title","returnByValue":true}}'
End browser work by finalizing tabs:
open-browser-use finalize-tabs --keep '[]'
Keep a tab only when the live tab is the deliverable or the user should continue from that state:
open-browser-use finalize-tabs --keep '[{"tabId":123,"status":"handoff"}]'
FAQs
Open Browser Use native host and CLI binary.
We found that open-browser-use demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.