skills/remote-browser/SKILL.md
Use this skill when an agent runs on a machine without a usable local Chrome and needs an isolated browser. The current Browser Use CLI runs Python from stdin. Do not use the removed open, state, click, input, tab, cloud connect, or --connect commands.
browser-use --doctor
browser-use skill show
If setup fails, follow the current Browser Use skill.
Authenticate once:
browser-use auth login
Pick a short unique name. r7k2 below is only an example.
browser-use <<'PY'
start_remote_daemon("r7k2")
PY
Use the same name for every command in this browser:
BU_NAME=r7k2 browser-use <<'PY'
new_tab("https://example.com")
wait_for_load()
print(page_info())
PY
Each remote daemon is a separate Browser Use Cloud browser. Use a different name for each parallel task. Remote browsers can bill until they stop or time out.
Helpers are pre-imported. Keep multi-step work in one heredoc when practical.
BU_NAME=r7k2 browser-use <<'PY'
print(page_info())
print(js("document.title"))
fill_input('input[name="q"]', "browser automation")
press_key("Enter")
wait_for_load()
print(page_info())
PY
Useful helpers:
new_tab(url), goto_url(url), wait_for_load()page_info(), js(code), cdp(method, ...)click_at_xy(x, y), type_text(text), fill_input(selector, text), press_key(key), scroll(x, y)list_tabs(), switch_tab(target), close_tab(target)capture_screenshot(), wait_for_element(selector)Prefer the accessibility tree for element discovery:
nodes = cdp("Accessibility.getFullAXTree")["nodes"]
Use a targeted js(...) query when the accessibility tree lacks the element. Verify each action with page_info(), a focused DOM check, or a screenshot.
When the work is done, stop the exact named browser:
browser-use <<'PY'
stop_remote_daemon("r7k2")
PY
Do not leave an unused remote browser running.