botcheckme

“Checking your browser” never finishes

The spinner is not waiting on the network. It handed your browser a computation and set a deadline, and your machine is not making it.

Close every other tab and reload the page. On a machine stuck at this screen that single change clears it more often than anything else you can do, and it works because the thing the interstitial is short of is processor time rather than bandwidth.

What the interstitial is doing

It loads a script, runs work in your browser, and posts the answer back. The work is a mixture: arithmetic, some rendering, and a set of measurements of how your browser behaves under it. Then it either redirects you to the site or reloads itself and tries again.

The reload is the tell. A challenge that reloads has not decided you are a bot; it has failed to get an answer and is retrying. A challenge that has decided shows you a block page instead.

Why the answer does not arrive

  • The processor was busy. Extensions, other tabs, a background update, thermal throttling.
  • The rendering was slow. With software graphics, everything the challenge draws goes through the processor.
  • A script it needed was cancelled by a blocker, so a step never ran and nothing timed out cleanly.
  • Its storage write was refused, so even a successful answer could not be recorded.

Reload, refusal or error — telling the three apart

The screen looks similar in all three cases and they need completely different responses, so it is worth ten seconds of looking before you change anything.

  • It reloads itself, repeatedly, and the spinner starts over. No answer arrived in time. This is the deadline case and everything on this page applies.
  • It sits still and never reloads. A step of the flow did not run at all — most often a cancelled request. Look at your blocker rather than at your processor.
  • It replaces itself with a refusal, an error code, or a page saying access is denied. A decision was made, which means an answer did arrive and was judged. Speed is not your problem; the request is. That is the address and the ranked rows, not this page.

The four changes, in the order that works

  1. Close every other tab, then reload the challenge. This alone clears it more often than anything else on this list.
  2. Turn hardware acceleration on and restart the browser fully. Your reading's graphics row says whether this applies to you.
  3. Turn off extensions for this page — or open the site in a window with extensions disabled — and reload once.
  4. Allow cookies for the site so the answer can be stored when it does arrive.

How long should it actually take?

On an unloaded machine the whole thing is over before you have read the sentence on the screen. That is the design: the interstitial is meant to be a flicker, not a wait.

So the useful threshold is behavioural rather than numeric. If you have had time to notice it, read it, and become annoyed by it, it has already failed at least once — the screen you are looking at is a retry. Sitting through further retries does not improve the odds, because nothing about the machine changed between them. Change something and reload.

What if it is stuck on every site?

Then stop looking at any individual site's settings, because the thing all of them share is either your machine or your network, and you can tell which in about a minute.

Try a second browser on the same machine. If it also hangs, the problem is the machine or the connection, not the browser's configuration — extensions and per-browser settings cannot both be at fault in two different browsers with different extension sets.

Then try a second device on the same network. If that hangs too, it is the network, and the most likely cause is a resolver or filtering appliance in front of everything — a household blocker, a router-level filter, a corporate inspection device — cancelling something the challenge needs.

If the second device is fine, you have narrowed it to one machine and the execution budget row is where to start.

Firefox and Safari behave differently here

Two browser-specific behaviours account for a large share of interstitials that hang on one browser while another works fine on the same machine.

In Firefox, strict Enhanced Tracking Protection and resist-fingerprinting each change what the interstitial can do. Strict mode may block storage the challenge needs, and a coarsened timer changes the measurements it takes of itself. The shield icon in the address bar disables protection for one site, which is the right-sized test: if it completes immediately afterwards, you know exactly which setting to narrow.

In Safari, cross-site storage is restricted by default and is not something you turn off per site in the same way. What is available is Settings → Privacy → “Prevent cross-site tracking”, temporarily, for the site you are stuck on. Safari also gives no useful signal when a challenge fails to store anything, so a loop there is more often a storage problem than a speed one.

Why the page will not tell you what went wrong

Because a message specific enough to help you would be specific enough to help the thing it is defending against. “Checking your browser” is deliberately empty of information, and so is the refusal that sometimes follows it.

That is a reasonable trade for the site and a miserable one for you, and it is the entire reason this site exists: to translate a screen that is designed to say nothing into a ranked list of things on your own machine, each with something you can do about it. Nothing here has any inside knowledge of a vendor's rules — it reads the same browser they read and tells you what it found, which is a different and more honest offer.

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.

  1. 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.
  2. 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.
  3. Connection

    Something between your browser and the site is making the connection for it.

    • In your antivirus, find the setting called HTTPS scanning, web shield or SSL inspection and turn it off for a test.
    • Check for a system or browser proxy: Windows Settings → Network → Proxy, macOS System Settings → Network → Details → Proxies. Turn off any you did not set up on purpose.
    • On a work network a company gateway does this on purpose. That is not yours to change; ask whoever runs it to exclude the site you need.

    When a company gateway makes the connection, no browser setting changes what the site sees.

  4. Graphics renderer

    Your browser is drawing with the processor instead of a graphics chip.

    • In your browser's settings, search for 'hardware acceleration' and switch it back on, then restart the browser.
    • If it is already on, update your graphics driver — a browser falls back to software when the driver refuses to start.
    • On a remote desktop or a virtual machine there may be no graphics chip to use. That is not something you can switch on.
  5. Timer resolution

    Your browser's clock only moves in coarse steps, which is a hardening tell.

    • Nothing to do on its own. It matters only as corroboration for the hardening row, and it is on this list so the ranking is complete rather than convenient.

What people search when this is happening

Why is “checking your browser” stuck and never finishing?
Because the interstitial handed your browser a computation with a deadline, and no answer arrived in time. The wait is on your processor, not your connection: extensions run before the page's own code, background tabs compete for the same thread, software rendering makes every drawn pixel expensive, and a laptop that is hot or on battery saver can run far below its rated speed.
How do I get past a Cloudflare-style browser check that keeps looping?
Close every other tab and reload — that clears it most often. Then turn hardware acceleration on and restart the browser fully. Then disable extensions for that page and reload once. Then allow cookies for the site so the answer can be recorded when it does arrive. Do them in that order and reload between each, because a challenge already running keeps the conditions it started with.
Is the interstitial stuck because of my internet connection?
Almost never. The script is small and arrives quickly even on a poor connection; running it is what takes time, and that happens entirely on your machine. If other pages load normally in another tab while the interstitial hangs, your connection is not the problem.
What is the difference between the check reloading and the check refusing me?
A reload means no answer arrived and it is retrying — a deadline problem, which the changes on this page address. A refusal, an error code or an access-denied page means an answer did arrive and was judged, which is a decision about the request rather than about its speed. Those two need opposite responses, so it is worth watching which one you are actually getting.
It hangs in every browser on my computer. What now?
Then it is not a browser setting, since two browsers with different extensions cannot both be misconfigured in the same way. Try a second device on the same network: if that hangs too, something in front of both of them — a household blocker, a router filter, a corporate inspection appliance — is cancelling what the challenge needs. If the other device is fine, the first machine is short of processor time.

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.