Scrappy Get Scrappy

A browser extension is two clicks from off. That is the whole review.

Every list of the best website blocker Chrome extensions ranks them by features. Rank them by how long it takes to turn one off and the whole category collapses. Here is what to put in its place.

A door held shut by a single paper clip, a hand lifting the clip away with two fingers while a dog watches

You fixed the phone, it held for three weeks, and then you noticed you were doing the exact same reading at eleven at night on a laptop with nothing at all in the way.

So you went looking, and every list gave the same answer: install a browser extension. They get ranked and re-ranked on blocklists, schedules, password options, pretty dashboards. Almost none of those lists mention the number that decides whether the thing works, which is how many clicks it takes to make it stop existing.

That number is two. You can open the browser's extensions page and switch a blocker off, or remove it outright, in two clicks, with no password, in both Chrome and Firefox. The exact wording of the toggle moves around between versions. The count does not.

The block and the off switch live in the same drawer

Be precise about where this fails. An extension is not weak because it blocks badly; most of them block fine. It is weak because the thing that enforces the rule and the thing that cancels the rule are the same software, in the same window, under the same account, available at the same instant.

Every other lock in your life separates those two things by something. A gym membership takes a phone call. A savings account takes a transfer that clears tomorrow. The extension takes the width of your hand moving across the screen. And the moment you need the block is the moment you are most motivated to remove it, which is not a flaw you can patch with a better blocklist. It is the shape of the thing.

Two clicks. I have watched you take longer than that choosing a sandwich.

You do not even have to turn it off to get around it

Removal is the honest exit. The dishonest ones are quicker.

None of these count as breaking a rule, and that matters more than it sounds. A person who has to consciously disable their blocker feels the decision and sometimes stops. A person who opens a different window feels nothing, because there is nothing to feel. The blocker was not defeated. It was never in the room.

Count the clicks to off before you count the features

Every blocker has a shortest path back to the thing it is blocking. Find that path first. If it is shorter than the urge, the feature list does not matter.

The lists rank installability, which is close to the opposite of enforcement

The weakest category is the most recommended one, and the reason is not that everybody is lying to you. Extensions are the easiest thing here to write about. They install in one click, need no account, cost nothing to try, screenshot well, and a reviewer can test twelve in an afternoon and uninstall all twelve by teatime. Anything with real teeth is slow to review by construction, because the whole point is that it does not come off quickly. So the ranking runs on ease of trial, and ease of trial and strength of enforcement pull in opposite directions. The list is measuring the wrong axis with great care.

A gate with a gate-shaped hole beside it is just a door with opinions.

Rebuilding it, starting from the undo

Design the off switch first and the block almost writes itself. You want the cancel path slower than an urge, and living somewhere your eleven-at-night self is not already standing. Here is what that looks like with things you already own.

On a Mac, the hosts file outranks any extension

There is a plain text file at /etc/hosts. On macOS 26.2 it is 213 bytes, nine lines, owned root:wheel, mode 644. It is read by mDNSResponder, which supplies results for getaddrinfo, which is what turns a name into an address for essentially everything on the machine. Point a domain at 127.0.0.1 there and it is blocked in every browser and every app at once, including the private window, the fresh profile, and the browser you forgot you had.

Edit it with sudo nano /etc/hosts. On macOS /usr/bin/nano is a symlink to pico, so both names get the same editor. Then flush the cache:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

The honest part: this is one sudo command from being undone, and it does not survive anybody who knows it is there, which after this paragraph is you. It is a far better block than an extension and a far worse commitment device. It buys coverage, not resistance. It closes the incognito hole, the second-profile hole and the second-browser hole permanently, in about ninety seconds, for free.

On the phone, a Screen Time limit only bites once it has a passcode

Most people set an App Limit, hit it, tap through it, and conclude Screen Time does not work. What happened is that they never switched on the part that does.

  1. Set a passcode first. Settings > Screen Time > Use Screen Time Passcode. Once one exists the same row is labelled Lock Screen Time Settings. Do this before the limit, because the option you actually want does not appear until the passcode does.
  2. Add the limit. Settings > Screen Time > App Limits > Add Limit. Now Block at End of Limit is there. Without the passcode it is not, and the limit screen offers you Ignore Limit For Today, which is one tap, which is the extension problem again in a different font.
  3. Add the website to the same limit. An App Limit attaches to an app. The browser version of that app is a separate thing, and it is only covered if you put the domain in the Websites field inside the limit itself.
  4. Close the reinstall loophole. A limit attaches to an installed app, so deleting the app detaches it and reinstalling gives a clean one. Set Screen Time > Content & Privacy Restrictions > iTunes & App Store Purchases > Deleting Apps to Don't Allow and that route closes.

Even then the limit screen offers One More Minute and Remind Me in 15 Minutes, and widgets, Spotlight results and notification previews keep showing content from a limited app without tripping the limit at all. The passcode is the difference between a suggestion and a rule. The rule still has soft edges.

On the Mac side

System Settings > Screen Time exists and works, with one gap worth knowing: it reports Chrome, Arc, Firefox and Edge each as a single app row. Its website-level detail comes from Safari. If you want per-site limits on the Mac and you do not use Safari, the hosts file is the tool, not this.

The part neither of them does

Both of those are still switches, and you own both switches. The passcode helps only if you cannot remember it, which is a strange thing to arrange on purpose. What is missing is a cost that is real, paid before the block opens, and impossible to pay faster by being annoyed.

Who should skip all of this

If your problem is only the desktop, a paid desktop blocker with cross-device sessions will serve you better than anything on your phone, and Cold Turkey is heavier than anything else going if you can live with how blunt it is. If the phone is in your hand before you are awake, a hardware answer, an NFC tile or a physical key, beats software outright, on the single condition that you do not leave the tile upstairs. And if a gentle pause before opening is all you need, the friction apps do that well and cheaply, and you can stop reading lists like this one.

The question is never how strong the block is. It is how long the road back is, and who built it.

What we built instead, and what it costs

Scrappy is a small dog who guards three rules on an iPhone: quiet hours, a daily limit, an open limit. He is not stronger than an extension because he blocks harder. He is stronger because of what the road back looks like.

Getting past him costs a treat, and treats are earned by walking, roughly 2,000 steps for one, and one buys five minutes. They are never sold, and they never will be. Resistance is set per app: negotiable takes a treat, firm makes you sit with it for ten seconds first, and absolute means he will not take the treat at all. The removal lock closes the delete-and-reinstall loophole, and switching it off takes a day, which is deliberately longer than an urge lasts. And there is an emergency pass, one a month, no scolding, because nobody should ever be genuinely stuck behind a cartoon dog.

Two things to be straight about. The guarding runs through Apple's Family Controls, so a sandboxed Apple extension draws the shield and cannot phone home, and there is no account, no sign-up and no server of ours. And the Mac app has not shipped. For the laptop half of your problem, the hosts file above is still the answer today.

I do not need to be unbeatable. I only need to be slower than the urge.

What he'd do

  1. Open your current blocker's settings and time yourself turning it off. If it took under thirty seconds, you do not have a blocker, you have a bookmark with a warning label.
  2. Put the three or four domains that actually cost you into /etc/hosts and flush the cache. Ninety seconds, every browser, no subscription.
  3. Set a Screen Time passcode on the phone before you set another limit, so that Block at End of Limit is even on the menu.

Checked against

  1. The two-click disable in Chrome and Firefox, and the incognito and second-profile bypasses: mechanism notes in this site's shared competitor reference, not re-tested here.
  2. Screen Time paths, the passcode requirement for Block at End of Limit, the Websites field, the deleting-apps restriction and the Mac's single-row browser reporting: this site's verified reference file, corroborated across earlier articles rather than walked again.
  3. /etc/hosts size, ownership, mode, the mDNSResponder and getaddrinfo path, the nano symlink and the flush command: verified on macOS 26.2 and recorded in the same reference.
  4. Competitor positioning, including the desktop and hardware alternatives above: the same reference, August 2026.

Or put a dog on the door.

Free to start, one whole rule, every safety rail. He does not know your passcode and does not want it.

Get Scrappy on the App Store