openai / openai/codex

[Windows][In-app browser] User-initiated selector popup is not exposed; independent-tab workaround cannot return selection

Open
#46,469 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app browser bug windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

Summary

A user-initiated report-filter lookup in a third-party authenticated sandbox emits a browser Page.windowOpen event, but Codex's in-app browser does not expose a usable child window/tab. The parent report's selection remains empty.

The workflow needs the original child-to-parent relationship so the selector can return a chosen library item. Opening the requested selector URL as a separate tab is not an equivalent workaround.

Environment

  • Component: Codex desktop app, in-app browser and browser-control surface.
  • OS: Windows, x64.
  • Installed package: OpenAI.Codex 26.915.4065.0, verified from the installed package.
  • Observed: September 18, 2026.
  • Site context: an already authenticated third-party synthetic sandbox. This is not an OAuth or login failure.
  • Subscription and model are not included; relevance has not been established.

Observed reproduction

These steps describe the affected authenticated application, not a standalone public reproduction.

  1. Open its report-parameter page in the Codex in-app browser.
  2. Activate the report item's lookup control through browser control. It is a link invoking the site's JavaScript selector action.
  3. Inspect the parent page and available in-app tabs after the click.
  4. Observe that no usable selector child is exposed and the parent's selected-item field stays empty.

A captured Page.windowOpen event for the action reported:

  • userGesture: true
  • windowName: "_blank"
  • Window features included width 535, height 405, positioning, and resizable.

The event's destination URL is intentionally omitted.

Expected behavior

A permitted user-initiated selector should appear as a usable child window or tab, preserving the parent connection required by this same-origin workflow. Selecting an item should populate the parent report field.

If opening the child is blocked by policy or unsupported by the browser, the UI and browser-control surface should expose an actionable reason instead of leaving an apparently inert lookup.

Actual behavior and checks

  • Normal activation did not expose a usable child tab.
  • A normal-click retest after requesting browser visibility and a Ctrl-click test did not resolve it.
  • Navigating separately to the exact URL requested by the site's popup action did render the selector library.
  • Choosing a library item from that independently opened tab did not populate the parent and produced:
    TypeError: Cannot read properties of null (reading 'document')
    in the selection handler.
  • The separate tab was closed without running a report.

Important: the null-parent error occurred in the independently opened workaround tab. It is not evidence that Codex stripped window.opener from a successfully created original popup. The original popup was not available to inspect. Separate navigation losing the opener is expected and explains why that workaround is unsuitable.

Impact

This blocks a report-filter selection workflow inside Codex even though authentication and navigation work. Users should not need to move to another browser or repeatedly sign in to finish a permitted lookup.

Investigation limits

The failure could involve popup creation, child adoption, visibility, or browser-control discovery. Its exact internal cause and popup disposition have not been confirmed. No same-turn external-browser comparison or standalone minimal HTML reproduction was performed.

Please investigate handling and exposure of user-gesture window.open requests with popup-size features, including retention of the original child-to-parent relationship where allowed. This report does not request disabling web security or bypassing site policies.

Privacy

No patient/resident information, credentials, tokens, cookies, site addresses, organization identifiers, screenshots, raw browser logs, conversation history, or application source code is included. Only sanitized behavior and the generic error text are provided.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the in-app browser handling of the captured Page.windowOpen event and how the browser-control surface discovers child windows or tabs. Reproduce the authenticated selector workflow if possible, then verify that a permitted user-initiated popup remains connected to its parent, or that blocked or unsupported popups expose an actionable reason.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.