← Back to docs
⚙️
Troubleshooting

Background Service / daemon won't start

Last verified: May 2026

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.plist
Do 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.

Still stuck? Contact support