Open Browser Use connects an MV3 Chrome extension, a local native messaging host, a CLI, SDKs, and an optional stdio MCP server so agents can automate a real Chrome profile. It is not Codex.app-specific; adapt the commands, MCP config, and SDK examples to the agent runtime you are operating in.
open-browser-use ping or obu ping. If it fails because setup is missing, read references/installation.md.obu-- . Reuse that same id for every Open Browser Use command in this task. - OBU; if no better task label is available, use Task - OBU.info, tabs, user-tabs, history, open-tab, navigate, cdp, and call.open-browser-use run / obu run for CLI-level multi-step orchestration when a small line-oriented action plan is enough and writing SDK code would be unnecessary.obu mcp and call the exposed browser tools directly. Use the run_action_plan MCP tool for the same line-oriented orchestration from MCP. Read references/sdk-and-protocol.md.open-browser-use finalize-tabs --session-id "$OBU_SESSION_ID" --keep '' , the MCP finalize_tabs tool, or the SDK finalizeTabs / finalize_tabs / FinalizeTabs method.open-browser-use / obu CLI or the published SDKs.tabs, user-tabs, open-tab, or SDK calls.claim-tab / claimUserTab for existing user tabs. Claiming should be based on the current user-tabs result and visible evidence such as URL, title, recency, or group.--socket only when the user or runtime provides an explicit socket. Otherwise let the CLI and SDKs discover the active socket registry.obu-cli for agent tasks. Always pass a task-unique --session-id to CLI and MCP commands, or set sessionId / session_id / SessionID in SDK clients. The fallback exists for quick manual use and can reuse stale task groups across unrelated agent sessions.open-browser-use run can share the same browser session only when they use the same explicit --session-id. Finalize that same session before ending browser work.call --method --params '' only when no safer convenience command or SDK wrapper exists.Some users run Chrome with several profiles (work, personal, side accounts). If
more than one profile has the Open Browser Use extension installed, the agent
must decide which profile this task should operate on rather than silently
picking whatever Chrome window happens to be active.
```sh
open-browser-use profiles --connected
```
Columns: DIRECTORY (stable id like Default, Profile 1), DISPLAY NAME
(what the user sees in the Chrome avatar menu), VERSION, and CONNECTED
(whether that profile's host is currently reachable). JSON output is
available via --json.
If it is installed but not connected, ask the user to open Chrome on that
profile before running browser commands.
which one to use, ask before the first browser command. List both directory
name and display name so the user can recognize them, and include whether
each profile is connected.
profile before retrying. Do not silently fall back to a different connected
profile.
--profile to every CLI / MCPcommand for the rest of the task. The selector accepts either the directory
name (Default, Profile 1) or the display name (Eva, cookiy.com),
case-insensitive. Do not switch profiles mid-task.
--profile does not match any running host, the CLI prints whichprofiles are currently connected. Ask the user to open Chrome on the chosen
profile, then retry; do not silently fall back to a different profile.
```toml
[mcp_servers.open_browser_use]
command = "obu"
args = ["mcp", "--session-id", "obu-
```
Do not pass profile as a per-tool-call argument — the MCP server applies the
start-time selector to every call.
task may belong to a different profile; ask again rather than assuming.
export OBU_SESSION_ID="obu-docs-scan-$(date +%Y%m%d%H%M%S)"
open-browser-use ping --session-id "$OBU_SESSION_ID"
open-browser-use info --session-id "$OBU_SESSION_ID"
open-browser-use name-session --session-id "$OBU_SESSION_ID" --name "Task - OBU"
open-browser-use tabs --session-id "$OBU_SESSION_ID"
open-browser-use user-tabs --session-id "$OBU_SESSION_ID"
open-browser-use history --session-id "$OBU_SESSION_ID" --query "example" --limit 20
open-browser-use open-tab --session-id "$OBU_SESSION_ID" --url https://example.com
open-browser-use navigate --session-id "$OBU_SESSION_ID" --tab-id <tab-id> --url https://example.com
open-browser-use cdp --session-id "$OBU_SESSION_ID" --tab-id <tab-id> --method Runtime.evaluate --params '{"expression":"document.title"}'
open-browser-use finalize-tabs --session-id "$OBU_SESSION_ID" --keep '[]'
For CLI-level orchestration without writing SDK code, use a line-oriented
action plan:
open-browser-use run --session-id "$OBU_SESSION_ID" -c '
name-session "Docs scan - OBU"
open-tab https://docs.browser-use.com
wait-load domcontentloaded
page-info
finalize-tabs []
'
Each action line shares one session/turn. open-tab and claim-tab set the
default tab for later tab-scoped actions such as wait-load, page-info,
navigate, cdp, move-mouse, and wait-file-chooser.
Use obu as the short alias when available.
For runtimes that can launch local MCP servers over stdio, use:
[mcp_servers.open_browser_use]
command = "obu"
args = ["mcp", "--session-id", "obu-<task-or-conversation-id>"]
Use a fresh --session-id value per agent task or conversation. If the runtime
has a stable conversation/session id, derive the MCP --session-id from it.
The MCP server exposes tools including user_tabs, open_tab, claim_tab,
navigate, wait_load, page_info, cdp, history, run_action_plan,
finalize_tabs, and unrestricted call.
Use run_action_plan when the runtime wants to execute the same compact action
plan format available through open-browser-use run without shelling out for
each individual browser operation.
obu-cli session across unrelated tasks. - OBU . Use Task - OBU as the fallback name.open-browser-use finalize-tabs --session-id "$OBU_SESSION_ID" --keep '[]'.status: "deliverable" when the tab itself is the user-facing output or requested open page, such as a created or edited document, dashboard, checkout/cart, submitted form result, or a page the user explicitly asked to inspect directly.status: "handoff" only when the task is still in progress and the user or a later turn should continue from the current task group, such as a page waiting for user input, login, approval, payment, CAPTCHA, or an unfinished workflow.✅ Open Browser Use tab group.set-file-chooser-files or the SDK equivalent.waitForDownload and downloadPath.共 1 个版本