Isolation and browser selection
What the managed profile isolates, which browser binary is picked, and where the control API reference lives
Isolation guarantees
- Dedicated user data dir: never touches your personal browser profile.
- Dedicated ports: avoids
9222to prevent collisions with dev workflows. - Deterministic tab control:
tabsreturnssuggestedTargetIdfirst, then stabletabIdhandles such ast1, optional labels, and the rawtargetId. Agents should reusesuggestedTargetId; raw ids remain available for debugging and compatibility. Profiles configured withdriver: "extension"can also return a runtime-scoped numericwebExtensionTabIdfor Chrome WebExtensions API calls. It is omitted for other drivers and must not replacesuggestedTargetIdortabIdin OpenClaw browser actions.
Browser selection
When launching locally, OpenClaw picks the first available:
- Chrome
- Brave
- Edge
- Chromium
- Chrome Canary
You can override with browser.executablePath.
Platforms:
- macOS: checks
/Applicationsand~/Applications. - Linux: checks common Chrome/Brave/Edge/Chromium locations under
/usr/bin,/snap/bin,/opt/google,/opt/brave.com,/usr/lib/chromium, and/usr/lib/chromium-browser, plus Playwright-managed Chromium underPLAYWRIGHT_BROWSERS_PATHor$XDG_CACHE_HOME/ms-playwright(defaults to~/.cache/ms-playwrightwhenXDG_CACHE_HOMEis unset or empty). Cache paths use Playwright's environment precedence, including npm configuration aliases; relative paths resolve fromINIT_CWDor the current working directory.PLAYWRIGHT_BROWSERS_PATH=0selects the installed Playwright package's.local-browsersdirectory. - Windows: checks common install locations.
Control API (optional)
For scripting and debugging, the Gateway exposes a small loopback-only HTTP
control API plus a matching openclaw browser CLI (snapshots, refs, wait
power-ups, JSON output, debug workflows). See
Browser control API for the full reference.