macOS Codex in-app browser hangs on IAB_LIFECYCLE (skill bridge disconnect)

Open 💬 2 comments Opened May 11, 2026 by cashton-coleman

What version of the Codex App are you using (From “About Codex” dialog)?

26.506.31421 (2620)

What subscription do you have?

Pro

What platform is your computer?

Darwin 25.4.0 arm64 arm

What issue are you seeing?

Title: In-app browser hangs after Browser skill bridge connects/disconnects

Environment:

  • Codex Desktop
  • Browser plugin: openai-bundled/browser-use/0.1.0-alpha2
  • In-app browser target: http://127.0.0.1:4100
  • macOS local development app

Observed:
The in-app browser repeatedly becomes visually stuck after Codex uses the Browser skill bridge. The local web app remains healthy and loads quickly in Chrome. Reconnecting to the in-app browser via Browser skill can inspect/reload the tab, but after the bridge disconnects/end-of-turn lifecycle, the visible in-app browser becomes stuck again.

Likely trigger:
Connecting to the in-app browser with Browser skill, then ending/disconnecting the Browser skill turn.

Evidence from local Codex logs:

  • Repeated IAB_LIFECYCLE resolved browser use route
  • IAB_LIFECYCLE captured turn route ... disposeAfterTurn=false
  • IAB_LIFECYCLE syncing browser use active state ... isActive=false
  • IAB_LIFECYCLE ended browser use turn route
  • IAB_LIFECYCLE renderer synced browser use webview state ... isBrowserUseActive=false

Expected:
After Browser skill disconnects or a browser-use turn ends, the in-app browser remains interactive and visibly responsive.

Actual:
The in-app browser webview appears hung/stale, even though the app is still responsive in Chrome and the bridge can sometimes inspect/reload the tab.

Workaround:
Avoid using the in-app browser Browser skill. Verify with Chrome, service health checks, API calls, and tests instead.

What steps can reproduce the bug?

Uploaded thread: 52a9ce32-3f33-4bbd-a909-130e9a985a97

Likely trigger:
Connecting to the in-app browser with Browser skill, then ending/disconnecting the Browser skill turn.

Evidence from local Codex logs:

  • Repeated IAB_LIFECYCLE resolved browser use route
  • IAB_LIFECYCLE captured turn route ... disposeAfterTurn=false
  • IAB_LIFECYCLE syncing browser use active state ... isActive=false
  • IAB_LIFECYCLE ended browser use turn route
  • IAB_LIFECYCLE renderer synced browser use webview state ... isBrowserUseActive=false

What is the expected behavior?

After Browser skill disconnects or a browser-use turn ends, the in-app browser remains interactive and visibly responsive.

Additional information

_No response_

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗