“Verify you are human”, and then again
The box is not the test. The box raises a score that is recomputed on every request, and something in your setup keeps pulling it back down before the next page loads.
Nothing you do inside the box will end this. The tickbox is a temporary contribution to a score that is recalculated on every single request, and the things dragging that score down are permanent properties of the request — your address, your clock, your settings. Change one of those and the loop stops; tick more carefully and it will not.
Why passing does not stick
Invisible and low-friction challenges do not issue a durable verdict. They compute a score continuously and gate on it continuously. Ticking the box is a large, temporary contribution to that score. Everything else in the request is a permanent one.
So if the permanent contributions are bad enough, the score falls below the threshold again within a page or two and you are asked again. This is not a bug and it is not personal. It is the design.
The permanent contributions, ranked
- The exit address, and whether it is published as a household or as a hosting network.
- The disagreement between that address's country and your browser's clock and language.
- Signals inside the browser that cannot all be true at once — the strongest single thing a vendor can act on, because a contradiction shows intent in a way that rarity never does.
- Anti-fingerprinting settings that report a machine which does not exist.
What the tickbox is actually measuring
Not whether you can identify a bus. The box exists to give the check a short window of your behaviour in a context where it knows exactly what it asked for — how the pointer travelled to the target, the timing of press and release, whether the page had focus, what happened between the click and the next request.
That is why the box sometimes passes instantly and sometimes unfolds into images: the images are what an unsure check falls back to, and how unsure it was had been decided from the request before you touched anything.
It is also why a person using a keyboard, a screen reader, a trackpad with accessibility settings, or a machine that is stuttering can find the box itself harder to pass. Those are all ordinary human conditions that produce unusual interaction traces, and it is one of the least defensible parts of this arrangement.
Why does this happen on some sites and not others?
Because the threshold is the site's to set, not the vendor's, and sites move it. The same score that sails through a news site can sit below the line on a ticket checkout, a sneaker release, a bank login or anything else that has recently been the target of something automated.
This explains the pattern people find most maddening: everything is fine all day, and the one thing you actually needed to do — buy the ticket, reset the password, complete the order — is the thing that will not let you through. You did not become more suspicious at checkout. The bar moved.
It also means a site that loops today may not loop next week, with nothing on your side changed at all. That is worth knowing before you spend an evening rearranging settings that were never contributing.
Signals that cannot all be true at once
The third item in the ranked list above is the one people have never heard of and the one vendors act on hardest, so it is worth spelling out with examples rather than leaving as a category.
A contradiction is two answers from the same browser that describe different machines. A user-agent string claiming macOS beside a graphics adapter that only exists on Windows. A time zone forced to UTC beside a language list belonging to one country and an address belonging to another. A touch-capable device count on a browser reporting a desktop. A screen size that changes between two reads seconds apart.
The reason these are weighted heavily is not that they are rare. It is that they imply intent. An unusual machine is an accident of who you are; answers that cannot all be true mean something is rewriting them, and rewriting them is what the check is defending against. This is why the extensions marketed as fixes for this exact symptom are frequently its cause.
What to change first
Run the reading on the home page. It prints these four as rows, in your browser's own values, ranked by how much each contributes, and it tells you which ones have a settings fix and which ones do not.
If you would rather not: turn off any extension that rewrites your user agent, canvas or screen size; move the VPN to your own country; and allow cookies for the site. Those three cover most loops.
What to do when none of it works
There is a point at which continuing to change settings is the wrong response, and recognising it saves you an evening. You have reached it when your reading's top rows are all marked as belonging to the network or the machine rather than to a setting.
At that point there are three honest options and none of them is a checklist. Do the one thing you need from a different network — a mobile hotspot is the usual answer and it is a genuinely different address on a differently classified network. Contact the site, since a real support channel can frequently pass you through by hand and the vendor is not the site's only tool. Or change the durable thing: use a browser built to present one consistent, ordinary reading on purpose rather than an accidentally strange one.
What will not help is another privacy extension. Every one of them adds a way for your browser to contradict itself, which is the row already ranked third on this list.
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.
-
VPN exit country
Your connection comes out in one country and your clock says another.
- Switch your VPN to a server in the country your computer's clock is set to.
- If you need that exit country, change your system time zone and language region to match it — the point is that the two agree.
- If your workplace routes your traffic through another region, this is not yours to fix; the checklist on this page says so on the row.
-
Shared exit address
Thousands of other people reach the web through the same address you do.
- Turn the VPN off for the site that keeps challenging you, if you can accept that.
- On a public or campus network, switch to a mobile hotspot for the checkout or login you are trying to finish.
- If your provider uses carrier-grade NAT, ask them for a dedicated address — some offer one, most for a fee.
There is no setting on your machine that changes this. The address is assigned to you by whoever runs the network.
-
Request headers
What your browser sends with each request disagrees with what it tells the page.
- Turn off any user-agent switcher or language-spoofing extension, then restart the browser. These usually change one side only.
- Check the browser's language list (Settings → Languages) and put the language you actually read first.
- If security software or a company proxy rewrites your traffic, the headers can change on the way out. Test once on a home connection with that software paused.
-
Privacy hardening
Your anti-tracking settings make you stand out instead of blending in.
- Move from the strictest anti-fingerprinting mode to the standard one. You keep tracker blocking; you stop reporting a machine nobody else has.
- If you use resist-fingerprinting deliberately, leave it on and expect challenges. That is the trade, stated plainly.
- Turn off any extension that randomises canvas, screen size or user agent — a value that changes on every reload is worse than a value that is merely unusual.
-
Signals that disagree
Two things your browser reports about itself cannot both be true.
- Turn off any user-agent switcher, spoofing extension or 'privacy' extension that rewrites what your browser reports.
- Restart the browser and read again. A contradiction that survives a restart is coming from something that starts with the browser.
-
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.
What people search when this is happening
- Why does “verify you are human” keep appearing after I already verified?
- Because the tickbox does not issue a lasting verdict. Modern low-friction challenges compute a score continuously and gate on it on every request; ticking the box is a large but temporary contribution, and everything else about the request is permanent. If the permanent parts sit low enough, the score falls back under the threshold within a page or two and you are asked again.
- How do I stop the verify-you-are-human loop?
- Change a permanent contributor rather than passing the box again. In order of how much they typically carry: turn off any extension that rewrites your user agent, canvas or screen size; move your VPN to a server in your own country or turn it off for that site; allow cookies for the site. If the loop survives all three, the address is doing the scoring and no browser setting reaches it.
- Why do I get the loop on one website but not on any others?
- The threshold belongs to the site, not to the vendor, and sites raise it around whatever has recently been targeted — checkouts, logins, password resets, limited releases. The same score that passes everywhere else can sit below the line on the one page you actually needed. You did not become more suspicious at checkout; the bar moved.
- What is the tickbox actually measuring?
- A short window of interaction in a context where the check knows exactly what it asked for: how the pointer reached the target, the timing of press and release, whether the page had focus, what happened next. It is not testing whether you can recognise a bus. It also means keyboard users, screen-reader users and stuttering machines can find the box itself harder, which is one of the least defensible parts of the arrangement.
- Will another privacy extension help me get past it?
- It usually does the opposite. Each one adds another way for your browser to give two answers that cannot both describe the same machine, and a contradiction is the strongest thing a vendor can act on — much stronger than merely being unusual, because it implies something is rewriting answers. Extensions sold as fixes for this exact symptom are frequently the cause of it.
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