The browser tool cannot attach to the omp browser relay, even when the relay is healthy and the extension is attached.
Observed 2026-08-20, relay serving on localhost:9224 with /json/version returning Chrome/151.0.0.0 and /json/list returning two live page targets:
open + app.relay: true + url, timeout 60s | Browser open timed out after 60000ms |
open + app.relay: true, no url, timeout 60s | timed out |
open + app.cdp_url: http://127.0.0.1:9224, timeout 90s | timed out |
open + wait_until: "domcontentloaded", timeout 45s | timed out |
subsequent run | Tab "seo" is not alive. Open it first with action:"open". |
The tell that this is a readiness-wait failure and not a connection failure: the first attempt did navigate the tab (its title in /json/list changed to the target page's title) before the tool gave up. Same root cause already known for puppeteer's high-level API over this relay -- the relay forwards chrome.debugger.sendCommand but not the lifecycle/execution-context events puppeteer awaits -- except here it kills attachment itself, so there is no session left to fall back to raw CDP with.
A naive next step also fails: connecting to ws://127.0.0.1:9224/cdp and immediately issuing Runtime.evaluate returns {"code":-32601,"message":"'Runtime.evaluate' wasn't found"}, because that endpoint is browser-scoped, not tab-scoped. Target.getTargets is likewise -32601, which makes the endpoint look broken when it is not.