Summary
On Windows, the launcher starts the bundled claw-server from Application\<chrome_ver>\BrowserClawServer\default\ (0.0.7) instead of the updated one under User Data\.browseros\BrowserClawServer\versions\<current_version>\ (0.0.11), even though current_version says 0.0.11.
Because 0.0.7 predates #1807, this silently reverts the structuredContent fix: read / snapshot / grep again return only metadata to clients that prefer structuredContent (Claude Code). Nothing errors — tool calls "succeed" and just come back empty-ish, which is exactly the symptom #1560 describes. A user who verified their setup once will silently regress on the next restart.
Environment
- BrowserClaw
0.47.10.0 (BrowserClaw_v0.47.10_x64_installer.exe), Chromium 148.0.7958.97
- Windows 11 x64
current_version = 0.0.11, versions\0.0.11\ present
What happens
First launch — both servers end up running:
{"msg":"claw-server listening","url":"http://127.0.0.1:9210"} <- bundled 0.0.7
{"msg":"claw-server listening","url":"http://127.0.0.1:9211"} <- updated 0.0.11 (9210 was taken)
runtime.json then points at 9211 (the updated one), so a fresh setup works.
Every subsequent launch — only the bundled one comes up:
Port PID Path
9210 56896 ...\BrowserClaw\Application\148.0.7958.97\BrowserClawServer\default\resources\bin\browseros-claw-server.exe
$ curl -s -X POST http://127.0.0.1:9210/mcp -d '{"jsonrpc":"2.0","id":1,"method":"initialize",...}'
{"result":{"serverInfo":{"name":"browseros-claw-server","title":"BrowserOS","version":"0.0.7"}}}
runtime.json still says 9211 and is not rewritten on this bind, so external port discovery now points at a server that isn't running.
The regression, side by side
run with return 2+2:
0.0.7 (bundled, what actually runs):
{"content":[{"type":"text","text":"ok\nreturn: 4"}],"structuredContent":{"ok":true,"value":4,"logs":[]}}
0.0.11 (installed, what should run):
{"content":[{"type":"text","text":"ok\nreturn: 4"}]}
Same for read: 0.0.11 returns content-only; 0.0.7 pairs the text with a metadata-only structuredContent ({"page":1,"format":"markdown","contentLength":167}), and Claude Code shows only the latter.
Two things that make recovery harder
browseros-claw-server.exe requires --config (--config is required), which isn't obvious when trying to start the versioned binary by hand.
- It binds
ports.server from config.json with no fallback: Failed to start server. Is port 9210 in use?. So the versioned server cannot come up while the bundled one holds the port — which is precisely the steady state after a restart.
Expected
The launcher should start versions\<current_version>\ when it exists, and the bundled default\ only as a fallback. Ideally the bundled server shouldn't linger on ports.server at all once an updated version is installed.
Workaround
Kill whatever holds ports.server, then start the versioned binary explicitly:
Stop-Process -Id (Get-NetTCPConnection -State Listen -LocalPort 9210).OwningProcess -Force
& "$env:LOCALAPPDATA\BrowserClaw\User Data\.browseros\BrowserClawServer\versions\0.0.11\resources\bin\browseros-claw-server.exe" `
--config "$env:LOCALAPPDATA\BrowserClaw\User Data\.browseros\config.json"
Then initialize reports browserclaw 0.0.11 and read returns full page content again.
Related
Separately, the Windows onboarding import fails ("Something went wrong. BrowserClaw couldn't finish this import.") for every profile and item combination I tried, including a single harmless item, and the dialog is full of macOS copy ("macOS will ask…", "Keychain prompt", footer "Signed build for Mac. v1.0."). Since the import step can't be skipped in this build, the browser stays on chrome://browseros-onboarding/ with no browser window, and every tabs call fails with CDP error: No browser window available. Happy to file that separately if useful.
Summary
On Windows, the launcher starts the bundled claw-server from
Application\<chrome_ver>\BrowserClawServer\default\(0.0.7) instead of the updated one underUser Data\.browseros\BrowserClawServer\versions\<current_version>\(0.0.11), even thoughcurrent_versionsays0.0.11.Because 0.0.7 predates #1807, this silently reverts the structuredContent fix:
read/snapshot/grepagain return only metadata to clients that preferstructuredContent(Claude Code). Nothing errors — tool calls "succeed" and just come back empty-ish, which is exactly the symptom #1560 describes. A user who verified their setup once will silently regress on the next restart.Environment
0.47.10.0(BrowserClaw_v0.47.10_x64_installer.exe), Chromium148.0.7958.97current_version=0.0.11,versions\0.0.11\presentWhat happens
First launch — both servers end up running:
runtime.jsonthen points at9211(the updated one), so a fresh setup works.Every subsequent launch — only the bundled one comes up:
runtime.jsonstill says9211and is not rewritten on this bind, so external port discovery now points at a server that isn't running.The regression, side by side
runwithreturn 2+2:0.0.7 (bundled, what actually runs):
{"content":[{"type":"text","text":"ok\nreturn: 4"}],"structuredContent":{"ok":true,"value":4,"logs":[]}}0.0.11 (installed, what should run):
{"content":[{"type":"text","text":"ok\nreturn: 4"}]}Same for
read: 0.0.11 returns content-only; 0.0.7 pairs the text with a metadata-onlystructuredContent({"page":1,"format":"markdown","contentLength":167}), and Claude Code shows only the latter.Two things that make recovery harder
browseros-claw-server.exerequires--config(--config is required), which isn't obvious when trying to start the versioned binary by hand.ports.serverfromconfig.jsonwith no fallback:Failed to start server. Is port 9210 in use?. So the versioned server cannot come up while the bundled one holds the port — which is precisely the steady state after a restart.Expected
The launcher should start
versions\<current_version>\when it exists, and the bundleddefault\only as a fallback. Ideally the bundled server shouldn't linger onports.serverat all once an updated version is installed.Workaround
Kill whatever holds
ports.server, then start the versioned binary explicitly:Then
initializereportsbrowserclaw 0.0.11andreadreturns full page content again.Related
Separately, the Windows onboarding import fails ("Something went wrong. BrowserClaw couldn't finish this import.") for every profile and item combination I tried, including a single harmless item, and the dialog is full of macOS copy ("macOS will ask…", "Keychain prompt", footer "Signed build for Mac. v1.0."). Since the import step can't be skipped in this build, the browser stays on
chrome://browseros-onboarding/with no browser window, and everytabscall fails withCDP error: No browser window available. Happy to file that separately if useful.