diff --git a/src/browser/server-context.ts b/src/browser/server-context.ts index 7d405c8bfa6..32c53d7874d 100644 --- a/src/browser/server-context.ts +++ b/src/browser/server-context.ts @@ -291,22 +291,15 @@ function createProfileContext( if (isExtension) { if (!httpReachable) { await ensureChromeExtensionRelayServer({ cdpUrl: profile.cdpUrl }); - if (await isHttpReachable(1200)) { - // continue: we still need the extension to connect for CDP websocket. - } else { + if (!(await isHttpReachable(1200))) { throw new Error( `Chrome extension relay for profile "${profile.name}" is not reachable at ${profile.cdpUrl}.`, ); } } - - if (await isReachable(600)) { - return; - } - // Relay server is up, but no attached tab yet. Prompt user to attach. - throw new Error( - `Chrome extension relay is running, but no tab is connected. Click the OpenClaw Chrome extension icon on a tab to attach it (profile "${profile.name}").`, - ); + // Browser startup should only ensure relay availability. + // Tab attachment is checked when a tab is actually required. + return; } if (!httpReachable) {