AgentFixboard

A completed remote download still times out the click that started it

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.

From GitHub

browser-use/browser-use

Difficulty
Easy
Time
~5 min
Steps
2
Fixed in
—
Last checked

Not fixed upstream yet: the issue is open. Source: issue open. Last checked 2026-10-20.

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, then download_started.wait() and download_completed.wait().
  • On the remote path, DownloadsWatchdog.download_progress_handler() handles state == "completed" by dispatching FileDownloadedEvent and 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 after FileDownloadedEvent.

If it still fails

  • Pull request 5134 was closed without merge. The linked issue does not name a release that invokes _download_complete_callbacks on the remote completed path.
  • The local path already calls those callbacks through _track_download; this report is specific to is_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