Skip to content
Steve Lambert edited this page Jan 31, 2024 · 76 revisions

Q: What is SelfControl?

SelfControl is a free and open-source application for macOS that lets you block your own access to distracting websites, your mail servers, or anything else on the Internet. Just set a period of time to block for, add sites to your blocklist, and click "Start." Until that timer expires, you will be unable to access those sites — even if you restart your computer or delete the application. You can download SelfControl at selfcontrolapp.com.

Q: I’m having an issue with SelfControl, can you help me? (It’s urgent!!!)

Hopefully! To get started, go to our Support Hub and find the point that best suits your problem, then follow the instructions listed for help.

Do note that SelfControl is free software maintained as a volunteer project, almost entirely by one person (hi, I’m Charlie). I do try to reply to SelfControl-related issues/emails eventually, but if I’m having a busy period (or off on a long backpacking trip, etc) the reply time could be months. Please use the Support Hub and try to solve your own issue whenever possible!

Q: How do I block a website?

To block websites, just add their domain names to your SelfControl blocklist, then adjust the block duration and click Start. For example, to block Facebook, you would add facebook.com to your block list.

Sometimes websites have different domains for different functions, and you may need to block all of them to get it working fully (e.g. to block Gmail, you'll need to block mail.google.com). On the other hand, sometimes a domain is used for multiple things and you need to be careful blocking it, e.g. blocking google.com may prevent access to many different Google services. Try a short block to make sure it's working as expected before starting a longer one!

Choose Help --> Get Started from the menu bar in SelfControl to pull up a quick tutorial.

Q: How do I disable SelfControl once it has started?

You can't. That's the idea. Just wait.

"But, but but..." you say.

Seriously, chill out. It's not the end of the world.

The timer will run out and the internet will come back again. In the meantime, you may find comfort in curling up in a ball under your desk and rocking back and forth for a while.

Q: I deleted the application, will that do anything?

No. Except maybe cause problems with the block ending at the proper time. Don't do it!

Q: Is SelfControl compatible with VPNs?

No, SelfControl will not block websites properly if you're using a VPN. This is not technically feasible, unfortunately.

If you are using a "partial VPN" like Junos Pulse Secure or Cisco AnyConnect to connect to corporate/university servers, please ensure it is disconnected while SelfControl runs. These applications have a tendency to save your networking state when they connect and restore to that state when they disconnect - so if you turn them on while SelfControl's running, and turn them off after it finishes, your block may "mysteriously" come back.

Q: Are you planning on making a Windows, Linux, or iOS version?

No. But the source code is free, and others have made similar applications.

Some applications we're aware of for Windows:

And for Linux:

  • Chomper - GPL and allows you to create blocklists/allowlists of domains and/or specific URLs.

iOS is too restricted and the App Store does not allow GPL code - get mad at them. But as a workaround, here's a tip: search online for "phone lock box with timer".

Q: SelfControl's timer is at "Finishing" and I can't access my websites. And I'm freaking out!!!

Hm, you didn’t follow that Support Hub link above, did you? :) Go here for instructions to help you remove your block.

Q: Why isn't my SelfControl block working in Firefox?

In the latest versions of Firefox (starting in 2020), the "DNS over HTTPS" (DoH) feature is enabled by default. Unfortunately, this can make SelfControl blocks unreliable or fail entirely. To fix this, you need to quit and restart your Firefox browser after starting each block.

Q: Other sites I didn't list are getting blocked, why?

SelfControl will block all sites that run on the same servers or domain names as a site on your blocklist. For some larger sites, this can produce surprising behavior. Test with a short block before running a long block, to avoid unpleasant surprises.

Q: Is there a way to start blocks for longer than 24 hours?

Yes, but we hide that functionality because it's really easy to screw up longer blocks. You will start your 134-day block and then realize on day 3 that you accidentally blocked something critical, and then panic, and email me, and it will take me 23 days just to reply to you and it won't be fun for either of us. But if you really want to, see here for instructions on how to make this happen.

Q: Is there a way to schedule blocks for the future, or on a recurring schedule?

Yes and no. Not within SelfControl, but this is a top feature request so perhaps it'll happen someday.

In the meantime, tech-savvy users comfortable with the command line can check out

Q: Can I run SelfControl without the admin authorization?

Not within SelfControl, but try the recurring schedule extensions above like hammer-control.

Q: The block is over but I still can't access the site or can only access part of it, how can I fix it?

Try:

  1. Refreshing the page.
  2. Clearing your cache (what does clearing your cache mean?)
  3. Restarting your browser

If that doesn't work, set the timer for 1 minute, do another block, and try again once the time has expired.

Q: I blocked a website with SelfControl but I can still access the site, what do I do?

Are you using a proxy or VPN? If so, you need to disable it for SelfControl to work properly.

Otherwise, try:

  1. Refreshing the page
  2. Clearing your cache
  3. Restarting your browser

If that doesn't work, SelfControl blocks websites based on the machine the site is hosted at, not the actual website address. Sometimes this won't work that well. Try adding other subdomains of the website (e.g. new.facebook.com in addition to facebook.com).

Q: Can I update SelfControl while a block is running?

No, this is not recommended. Please wait until your block is finished before installing a new version of SelfControl. Generally updating mid-block will not cause issues, but we can't guarantee this.

Q: How do I uninstall SelfControl?

First, wait for your current running block to expire. This is critical: you cannot uninstall SelfControl while a block is running, and you cannot stop the block early. You just have to wait.

After the block has ended, just quit the SelfControl app and drag it to the trash, and you're done.

Wait, doesn't this leave some traces of SelfControl on my laptop?

Technically, yes, but I promise it really doesn't matter. It leaves a few small settings files that don't do anything. If you really feel the need to clear them, you can run the following commands in Terminal:

sudo find -E /usr/local/etc -regex '.*\/\.[a-z0-9]{40}\.plist' -delete -print
defaults delete org.eyebeam.SelfControl
sudo rm /etc/SelfControl.lock

Q: Some websites are looking really weird/ugly after I started SelfControl! What do I do?

This seems to be an issue with Firefox, mainly. Clear your browser cache, restart your browser, and your problem should go away.

Q: Can I specify ports instead of web addresses?

Yes. using :port or *:port notation, gives some flexibility. For example, if you wanted to run torrents and do nothing else, the following steps might help:

  1. Set as an allowlist
  2. Add an entry for *:6881, or whatever port number your client is set to use (check your settings).
  3. Add entries for the trackers you use, for example to allow The Pirate Bay you would add tracker.thepiratebay.org:80.
  4. Add any other things you want to allowlist
  5. Start! You can use File—> Save to save blocklists for easy loading later.

Q: Can I save my blocklists and allowlists (to reuse lists or transfer them between computers)?

Yes! To save your list as a file, use File > Save Blocklist (or Cmd-S). You can keep this file on your computer for future use, move it to another computer, or even post it on a website.

To open this file again, open SelfControl and use File --> Open Blocklist (or Cmd-O). Its contents will be imported into SelfControl, replacing the current list. You can then start a block as normal using your saved list.

Q: Can I run SelfControl from the command-line?

You sure can! Check out Running SelfControl from the Terminal for details. Advanced users can use the CLI to write scripts that make SelfControl do what they want.

Q: Can you add ________ feature that is really important to me?

Probably not in the near future. But it might still be a great idea!

If you want to make a suggestion, first search our Issues repository to see if anyone has already suggested the same thing. If not, file a new feature request.

If you really want to make things happen, you can always do it yourself! This is a free and open-source project, and you're welcome to alter the software however you like (or hire someone to). We'd be interested in seeing your code, and if we like it we might bring it into SelfControl proper!

Q: I found a way to bypass SelfControl!

Alas, nothing is truly invincible. We probably know about it already. Take this as a moment to practice your inner self control! Or submit a pull request!

Clone this wiki locally