“Press and hold” keeps coming back
The hold is not testing your patience. While you hold, the page runs a script and samples how the input arrives; when it fills, it stores a pass. If the button comes back, either the sample or the pass did not get through.
A press-and-hold challenge does three things at once. It measures the hold itself: a press made by a device, held for about the time a person holds. It runs a script in the background, the same kind of computation a checking-your-browser page runs. And when it is satisfied, it stores a pass in your browser so the next page lets you in.
Each of the three has its own way to fail, and they look the same from your side: the button fills, the page reloads, and you are asked again.
Why the button comes back
- The pass is not kept. Blocked third-party cookies, a private window, or a cookie cleaner throw away the pass as soon as it is stored. This is the most common cause of a loop.
- A blocker removed part of the challenge. If a content blocker cancels one of the challenge's own requests, the hold can fill without anything being reported back.
- The press was not made by a device. Auto-clickers, macro tools and some remote-desktop sessions produce events the browser marks as made by a script.
- The script ran out of time. A busy or throttled machine finishes the background computation too late.
What to change, in order
- Allow cookies, including third-party cookies, for the site, and leave private browsing.
- Add the site to your content blocker's allow list.
- Hold with a plain mouse button or a finger. Turn off auto-clickers and macro tools for the site.
- Close other heavy tabs, plug in a laptop on battery saver, and try once more.
In the order they most often turn out to be the one. That order is a judgment about this symptom, not a reading of your machine — read your browser and these become rows with your own values in them, ranked by arithmetic instead of by opinion.
-
Third-party storage
The challenge cannot store the pass it just gave you, so it asks again.
- Allow cookies for the site that keeps challenging you, including its third-party cookies, for as long as it takes to get through.
- Turn off 'block all cookies' if it is on. Blocking third-party cookies only is usually survivable; blocking all of them is not.
- Leave private browsing. A private window discards the pass every time you close it.
-
Content blocker
A blocker is rewriting the page before the site's check can read it.
- Add the site that keeps challenging you to your blocker's allow list. Most blockers have a one-click toggle for the current site.
- Keep the blocker on everywhere else — you do not have to choose between blocking and getting through.
- If you use a custom or aggressive filter list, turn that list off first and leave the default lists on.
-
Input rhythm
Clicks or key presses on the page came from a script, not from your hands.
- Turn off auto-clickers, macro tools and form-fillers on the site that keeps challenging you. They create input the browser marks as not made by a device.
- If you use a remote-desktop or accessibility tool that types for you, try once without it to see if the challenges stop.
- If this row is clear, your mouse is not the problem. No check can tell your hand from anyone else's.
-
Execution budget
Your machine does not finish the check's work before the check gives up.
- Close other tabs before you go back to the site. A challenge shares the same processor as everything else you have open.
- Disable the heaviest extensions temporarily — each one runs its own script on every page you open.
- If the machine is old or the battery saver is on, plug it in. Thermal and power throttling both cost you the deadline.
What people search when this is happening
- Why does press and hold keep repeating?
- Usually because the pass it stores is thrown away by blocked cookies or a private window, so the next page asks again. A content blocker removing part of the challenge is the second most common cause.
- Does it matter how long I hold?
- Hold until the button fills and let go. The challenge decides the length; holding longer does not help, and letting go early restarts it.
- Can an accessibility tool cause the loop?
- Some tools that click or type for you produce events the browser marks as made by a script. If you rely on one, look for the site's audio or accessibility option instead of changing the tool you need.
READ AT PRIOR TABLE ED. 1.0.0 · 2026-10-13 · ASSUMED, NOT MEASURED
The rank is taken against 15 written assumptions about how common each value is and 16 written weights about how much each one matters. 9 of them we think are probably wrong. Real counts from the browsers these sites have read appear beside a row, never inside its rank. Read the assumptions →
The rows you cannot fix from a settings page
A VPN you need for work, an address your ISP shares with a thousand other subscribers, a laptop with no graphics chip, a hardened profile that breaks the sites it was meant to protect — none of these have a checkbox. What is left is to present a reading that is internally consistent and ordinary on purpose, instead of one that is accidentally strange.
Donut Browser does that at the engine level: its Wayfern Chromium fork applies the fingerprint through CDP injection rather than patching JavaScript in the page, and it refuses to launch a profile whose proxy exit country, time zone and language contradict the profile's own fingerprint — which is the top row of most readings on this site. It is AGPL-3.0, it has no telemetry of any kind, and it runs on macOS, Windows and Linux.
Stated plainly: this site has no test results showing what any particular anti-bot service does with any particular browser, and neither does Donut Browser's own repository. What can be checked is the source, which is public.
Free · AGPL-3.0 · github.com/zhom/donutbrowser