
Security News
PolinRider: North Korea-Linked Supply Chain Campaign Expands Across Open Source Ecosystems
PolinRider expands across npm, Packagist, Go modules, and Chrome extensions, using hidden loaders to target developer environments.
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.
On Windows, run setup from PowerShell or cmd after the npm install:
open-browser-use setup
open-browser-use info
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-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-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.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
PolinRider expands across npm, Packagist, Go modules, and Chrome extensions, using hidden loaders to target developer environments.

Security News
Open source attacks are accelerating as AI coding agents pull in dependencies faster, with less human review.

Research
/Security News
Malicious Chrome and Firefox extensions posed as free VPNs while stealing clipboard data through later extension updates.