openai / openai/codex

Chrome filechooser event does not fire after clicking "Upload from computer", while native macOS file picker opens

Open
#40,333 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

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

26.818.41509

What subscription do you have?

Pro

What platform is your computer?

MacOS 26.5

What issue are you seeing?

Title:
[desktop] Chrome filechooser event does not fire after clicking "Upload from computer", while native macOS file picker opens

Environment:

  • Codex Desktop: latest version as of 2026-08-24
  • macOS
  • Google Chrome: 151.0.7922.174
  • ChatGPT Chrome Extension: 1.2.27268.51612
  • Extension ID: hehggadaopoacecdllhhajmbjkdcmajg
  • Chrome profile: Profile 1
  • "Allow access to file URLs" is enabled
  • Codex Computer Use / Chrome Uploads permission is enabled
  • Native host manifest check passes

Summary:
When Codex controls Google Chrome through the ChatGPT Chrome extension, clicking a webpage upload control opens the native macOS file picker, but page.waitForEvent("filechooser") never receives a filechooser event. This makes fileChooser.setFiles(...) unusable.

Reproduction:

  1. Open ChatGPT in Chrome through Codex browser control.
  2. Click #composer-plus-btn.
  3. Click the visible "从电脑上传" / "Upload from computer" menu item.
  4. Start page.waitForEvent("filechooser", { timeoutMs: 15000 }) before the click.
  5. Observe that the native macOS file picker opens, but Codex times out waiting for the filechooser event.

Actual:

  • Native file picker appears.
  • Manual selection works.
  • macOS native picker automation workaround also works.
  • But Codex/Playwright filechooser event does not fire.
  • input[type=file] elements are visible in the DOM, but the filechooser route cannot attach files.

Expected:

  • Codex should receive the filechooser event when the upload control opens the native picker.
  • fileChooser.setFiles("/absolute/path/to/file") should work without requiring a system-focus native picker fallback.

Impact:
This blocks automation on websites that require local file upload and do not support clipboard paste. The native macOS picker fallback works, but it steals system focus, so the user cannot use the computer during batch workflows.

Diagnostics already checked:

  • Chrome is running.
  • Chrome extension is installed and enabled.
  • Native messaging host manifest is valid.
  • File URL access is enabled.
  • Longer filechooser timeouts still do not help.
What steps can reproduce the bug?

Title:
[desktop] Chrome filechooser event does not fire after clicking "Upload from computer", while native macOS file picker opens

Environment:

  • Codex Desktop: latest version as of 2026-08-24
  • macOS
  • Google Chrome: 151.0.7922.174
  • ChatGPT Chrome Extension: 1.2.27268.51612
  • Extension ID: hehggadaopoacecdllhhajmbjkdcmajg
  • Chrome profile: Profile 1
  • "Allow access to file URLs" is enabled
  • Codex Computer Use / Chrome Uploads permission is enabled
  • Native host manifest check passes

Summary:
When Codex controls Google Chrome through the ChatGPT Chrome extension, clicking a webpage upload control opens the native macOS file picker, but page.waitForEvent("filechooser") never receives a filechooser event. This makes fileChooser.setFiles(...) unusable.

Reproduction:

  1. Open ChatGPT in Chrome through Codex browser control.
  2. Click #composer-plus-btn.
  3. Click the visible "从电脑上传" / "Upload from computer" menu item.
  4. Start page.waitForEvent("filechooser", { timeoutMs: 15000 }) before the click.
  5. Observe that the native macOS file picker opens, but Codex times out waiting for the filechooser event.

Actual:

  • Native file picker appears.
  • Manual selection works.
  • macOS native picker automation workaround also works.
  • But Codex/Playwright filechooser event does not fire.
  • input[type=file] elements are visible in the DOM, but the filechooser route cannot attach files.

Expected:

  • Codex should receive the filechooser event when the upload control opens the native picker.
  • fileChooser.setFiles("/absolute/path/to/file") should work without requiring a system-focus native picker fallback.

Impact:
This blocks automation on websites that require local file upload and do not support clipboard paste. The native macOS picker fallback works, but it steals system focus, so the user cannot use the computer during batch workflows.

Diagnostics already checked:

  • Chrome is running.
  • Chrome extension is installed and enabled.
  • Native messaging host manifest is valid.
  • File URL access is enabled.
  • Longer filechooser timeouts still do not help.
What is the expected behavior?

No response

Additional information

It's a frequent problem. And it affect all the workflow based on it. Please solve it quickly, thank you!

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

Reproduce the flow using #composer-plus-btn, the “Upload from computer” menu item, page.waitForEvent("filechooser"), and fileChooser.setFiles(...). First trace how Codex controls Chrome and handles the native macOS picker, then compare the failing filechooser path with the working native-picker fallback. Done means the filechooser event arrives and setFiles works without taking system focus.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.