Chrome filechooser event does not fire after clicking "Upload from computer", while native macOS file picker opens
Nobody has claimed this yet.
- 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:
- Open ChatGPT in Chrome through Codex browser control.
- Click
#composer-plus-btn. - Click the visible "从电脑上传" / "Upload from computer" menu item.
- Start
page.waitForEvent("filechooser", { timeoutMs: 15000 })before the click. - 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
filechooserevent 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:
- Open ChatGPT in Chrome through Codex browser control.
- Click
#composer-plus-btn. - Click the visible "从电脑上传" / "Upload from computer" menu item.
- Start
page.waitForEvent("filechooser", { timeoutMs: 15000 })before the click. - 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
filechooserevent 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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