Symptoms
Settings → Blocking → Background Service shows "Stopped" or "Failed". Blocks may appear active in the app but rules don't reach /etc/hosts and apps you blocked still launch.
Likely causes
- The LaunchDaemon at /Library/LaunchDaemons/com.focusdragon.daemon.plist isn't loaded.
- The daemon binary is missing Full Disk Access, so it can't edit /etc/hosts.
- A previous unclean uninstall left a stale plist whose path no longer exists.
- macOS quarantined the daemon binary after an OS upgrade.
Step-by-step fix
- 1. Open Settings → Blocking and click Restart Background Service. Wait 5 seconds for the status to refresh.
- 2. If it still says Failed, confirm the daemon is actually registered with launchd using the command below.
- 3. System Settings → Privacy & Security → Full Disk Access — the FocusDragon daemon helper must be present and checked. If you don't see it, start a block once from the app to trigger the install flow.
- 4. Last resort: follow the "Uninstalling and reinstalling cleanly" guide, then reinstall from focusdragon.app.
Verify the daemon is loaded
launchctl list | grep focusdragon
# Expected: a line containing com.focusdragon.daemon with PID and exit status 0
# If you see exit status non-zero, the daemon crashed at launch — usually a permission issue.
# If you see nothing, the plist isn't loaded:
sudo launchctl load /Library/LaunchDaemons/com.focusdragon.daemon.plistDo not run sudo launchctl unload while a Locked block is active — the daemon enforces the lock, and removing it mid-block is a documented bypass. End all blocks first.
Still stuck? Contact support at hi@focusdragon.app with the output of the launchctl command above.