Bug fix: recover browser MCP calls after transport failures (macOS)#13100
Bug fix: recover browser MCP calls after transport failures (macOS)#13100swordfish444 wants to merge 2 commits intoopenai:mainfrom
Conversation
|
Tagging additional maintainers for this bug fix: @etraut-openai @mzeng-openai. This PR is a reliability bug fix (linked to #13138) with macOS E2E validation for browser MCP transport drops (Chrome DevTools + Playwright), including forced process-kill recovery in-session without restarting Codex. |
|
@swordfish444 Please do not submit PRs. If you want to suggest a new feature, file a feature request. |
|
Tracking bug report (per maintainer guidance): #13138 |
|
@etraut-openai Thanks for the guidance. I opened #13138 as requested. To clarify, this is not a feature request; it is a reliability bug affecting existing behavior in Codex on macOS where browser MCPs ( Given the user impact and the fix + E2E validation already captured in this PR, I’d appreciate it if you could reopen #13100 for review. |
|
Issue mapping (to avoid duplicate confusion):
This PR should be evaluated as a reliability bug fix for existing behavior, not a feature request. |
Bug Fix Summary
This PR fixes a reliability bug in Codex browser MCP handling on macOS.
Linked bug: #13138
Bug Description
When browser MCP transports die mid-session, follow-up tool calls can fail with transport-level errors (
Transport send error,Broken pipe,Transport closed), and browser MCP workflows become unreliable until restart.Affected MCP servers:
chrome-devtoolsplaywrightFix
McpConnectionManagertransport closedtransport send errortransport receive errorbroken pipe/connection resetValidation
Automated
just fmtjust fix -p codex-corecargo test -p codex-core is_transport_closed_errorcargo test -p codex-core mcp_tool_call_recovers_from_transport_closedEnd-to-end (macOS, patched app-server)
Server:
./target/debug/codex app-server --listen ws://127.0.0.1:4322Chrome DevTools MCP:
mcp__chrome-devtools__new_page)kill -9 10162)MCP transport closed for server chrome-devtools; restartingPlaywright MCP:
mcp__playwright__browser_tabs)kill -9 10154 11782)MCP transport closed for server playwright; restartingRelated prior report: #6649