Symptom
On a remote session (is_local=False), a click that starts a file download can wait until timeout even after the file is already on disk. DefaultActionWatchdog._execute_click_with_download_detection() waits on download_completed.wait() and never sees the remote completion callback.
Evidence what you'll see
- The click path registers
on_start,on_progress,on_complete, thendownload_started.wait()anddownload_completed.wait(). - On the remote path,
DownloadsWatchdog.download_progress_handler()handlesstate == "completed"by dispatchingFileDownloadedEventand does not call_download_complete_callbacks. The local path goes through_track_download(...), which does call those callbacks. - The linked issue does not give an exception class. Affected versions named on the issue are browser-use
0.12.1–0.12.9.
Why it happens
The click action waits on the direct completion callback, not on FileDownloadedEvent. Remote CDP completion only dispatches the event, so the click stays blocked until timeout while the download itself succeeded.
Affected versions
browser-use 0.12.1 through 0.12.9, remote browser session / remote CDP (is_local=False). The linked issue does not name an operating system or a Python version.
Fix steps
0 of 2 done
Your check marks stay in this browser only.
How to check it worked
- A click that starts a remote download returns when the file is present, instead of waiting on
download_completed.wait()until timeout afterFileDownloadedEvent.
If it still fails
- Pull request 5134 was closed without merge. The linked issue does not name a release that invokes
_download_complete_callbackson the remotecompletedpath. - The local path already calls those callbacks through
_track_download; this report is specific tois_local=False.
Sources and credit
Summarized in our own words from these public reports. Credit goes to their authors.
Provided as is, without warranty. Try changes in a non-production environment and back up first. Security-related steps: verify against the official docs. Terms · Request removal or attribution change
Hit an error we don't cover? Submit it