Repository navigation
[Bug] Browser Use (Playwright MCP) rejects every new agent creation once one agent holds the browser — “New Session” silently does nothing (0.1.6-alpha.2) #7169
SereneSoulful
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Version: dsh 0.1.6-alpha.2 — Windows 11 (10.0.26100), Node v24.19.0, Web (
web) profilePackages:
@deepseek-ai/dsh-browser-use0.1.6-alpha.1 +@deepseek-ai/dsh-experimental-browser-use-playwright-mcp0.1.6-alpha.1 (bundled@playwright/mcp0.0.80)Summary
With the browser-use provider mounted, only the first live agent can be created. Every later agent creation is rejected, so new Sessions are written to disk but never registered, and the Web UI's "New Session" appears to do nothing — no error is shown to the user. Both provider modes fail, with different errors.
Symptoms
~/.dsh/sessions/.../session.v3.jsonl.zstd, header only, ~340 bytes), but the session never appears in~/.dsh/storages/workspace.json, so the client list never shows it.agent/createdpath): the call fails with the raw error below and the agent is never created.Repro A —
mode: launch@deepseek-ai/dsh-browser-use+@deepseek-ai/dsh-experimental-browser-use-playwright-mcpwith{ mode: launch, headless: true, executablePath: '<Chrome>' }.Repro B —
mode: attach--remote-debugging-port=9222 --remote-allow-origins=*, dedicated profile).{ mode: attach, endpoint: 'http://127.0.0.1:9222' }.--cdp-endpointcommand navigates successfully when run standalone).Where it fails
A) launch mode —
@deepseek-ai/dsh-mcp-client/lib/index.jsapply()(~line 832) rethrows wheneverfailOnStartupErroris set, wrapping the connection error.syncTools()(~lines 152-158) callsctx.tools.register(definition)and rethrows onregistrationFailure: "throw"; the comment at ~lines 112-117 states a conflict there "can only mean a foreign registration squats on this server'smcp__<serverName>__namespace".serverName(playwright-mcp) —dsh-experimental-browser-use-runtime/lib/types/mcp.js,mountSessionMcp()→resources.open()→scope.ctx.plugin(McpClient, ...)— so the second agent collides with the first agent's tool registrations.B) attach mode — same file,
refreshBlockedMasks()(~lines 53-71)blockedit callsstate.mask.ctx.tools.restrict({ deny: inherited })on a scope created bycreateScope(ctx, agent); the tools service rejects that context, and the throw propagates out ofagent/created.Ruled out (with evidence)
node <profile>/node_modules/@playwright/mcp/cli.js --browser chromium --isolated --headless --executable-path <Chrome>) connects in ~263 ms andtools/listreturns 24 tools; the attach variant (--cdp-endpoint http://127.0.0.1:9222) navigates successfully.assertSupportedJsonSchemarejects 24/24 Playwright tool schemas, but it also rejects 22/57 schemas of the working Cua Driver provider, and it only guards output schemas inside a try/catch (supportedOutputSchema), so it is not the failing path.Impact
Browser use cannot coexist with more than one Session/agent per DSH instance. Because the failure rejects
agent/created, it also breaks subagent spawning, and the Web UI surfaces no error at all.Workaround
Keep the provider disabled (
disabled: trueon the two browser-use rows incordis.patch.yml). Computer Use (@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp) is unaffected.中文摘要:装上 Browser Use(Playwright MCP 后端)后,同一 DSH 实例里只有第一个代理能建起来,之后每次新建会话或派生代理都会被拒——会话记录写盘了但不进
workspace.json,前端表现就是"点新建会话没反应"且没有任何报错。mode: launch与mode: attach都能稳定复现,两处报错分别指向dsh-mcp-client的注册命名空间冲突与dsh-experimental-browser-use-runtime的refreshBlockedMasks()。All reactions