#6193: fix(browser): default to openclaw profile instead of chrome extension relay
Cluster:
Browser Enhancements and Fixes
## Summary
When no profile is specified, the browser tool was defaulting to the 'chrome' profile (extension relay) instead of the 'openclaw' managed browser profile. This caused an error for users who don't have the Chrome extension installed or configured.
## Root Cause
The default profile preference order was checking for 'chrome' first, causing the extension relay error.
## Fix
Changes the default profile preference to prefer 'openclaw' over 'chrome':
1. **src/browser/constants.ts**: Changed `DEFAULT_BROWSER_DEFAULT_PROFILE_NAME` from `"chrome"` to `"openclaw"`
2. **src/browser/config.ts**: Updated the profile preference order to check for 'openclaw' first
## Impact
- Users without Chrome extension can now use the browser tool out of the box
- The openclaw managed browser becomes the default for local automation
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR flips the browser tool’s default profile selection to prefer the managed `openclaw` profile over the Chrome extension relay profile when no explicit profile is configured. It updates the selection logic in `src/browser/config.ts` and changes the constant default profile name in `src/browser/constants.ts`, aiming to avoid failures for users without the Chrome extension configured.
<h3>Confidence Score: 4/5</h3>
- This PR is likely safe to merge and should improve default behavior, with a small risk of unintended semantics where the renamed default constant is used elsewhere.
- Changes are small and localized, but `DEFAULT_BROWSER_DEFAULT_PROFILE_NAME` now equals the openclaw profile name, which may not match its historical meaning and could affect other code paths that use this constant as the implicit default.
- src/browser/constants.ts (constant semantics), and any other callers of DEFAULT_BROWSER_DEFAULT_PROFILE_NAME such as src/browser/profiles-service.ts
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
**Context used:**
- Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8))
- Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13))
<!-- /greptile_comment -->
Most Similar PRs
#14944: fix(browser): prefer openclaw profile in headless/noSandbox environ...
by BenediktSchackenberg · 2026-02-12
89.7%
#7157: docs(browser): recommend openclaw managed profile as default
by AkashaBot · 2026-02-02
87.3%
#10937: fix(browser): correct fallback path for bundled Chrome extension
by dddabtc · 2026-02-07
81.4%
#9020: fix(browser): skip port ownership and WS reachability checks for re...
by yepack · 2026-02-04
81.2%
#20207: fix(browser): use profile driver instead of hardcoded name
by mahsumaktas · 2026-02-18
80.8%
#13568: Fix browser (OpenClaw-managed) launch fail by binding remote debugg...
by singlag · 2026-02-10
80.6%
#22952: fix(browser): suggest remote profile when local Chrome is not insta...
by dashed · 2026-02-21
80.5%
#23363: Browser: fallback to managed profile and improve runtime diagnostics
by isdoho · 2026-02-22
79.3%
#14784: fix(browser): clarify stale targetId errors (tab not found)
by sovushik · 2026-02-12
78.7%
#9728: fix(gateway): browser.snapshot ignores profile parameter (#9723)
by divol89 · 2026-02-05
78.5%