What the background service does
FocusDragon's enforcement doesn't live in the app window — it lives in a separate background process (a LaunchDaemon at /Library/LaunchDaemons/com.focusdragon.daemon.plist) that runs as root and keeps blocking even when the FocusDragon app is quit. This is what makes "I closed the app to escape my block" a non-option. The daemon reads its config from /Library/Application Support/FocusDragon/config.json every 2 seconds and enforces independently.
First-launch registration
The first time you launch FocusDragon, it registers the daemon through the macOS Login Items system. macOS surfaces a one-time prompt asking you to approve the new login item. Click Allow and you're done — the daemon installs itself and starts running. From then on, it auto-starts at boot.
If you said "Don't Allow" by mistake
Easy to fix. Inside FocusDragon, go to Settings → Blocking → Background Service and click Enable. macOS will re-surface the approval prompt.
If the prompt doesn't appear (macOS sometimes remembers your earlier denial and silently suppresses re-prompts), go to System Settings → General → Login Items & Extensions. Look for FocusDragon under "Allow in the background" and toggle it on. The daemon will register the next time you click Enable in the app.
Verifying it's running
- Settings → Blocking → Background Service — the status should read "Running" with a green dot.
- If it reads "Stopped" or "Not registered", hit the Enable button and walk through the macOS prompt.
- Once it's running, you can fully quit the FocusDragon app and any active block will keep enforcing — open a blocked site in a browser to confirm.
It survives uninstalls (by design)
Dragging FocusDragon.app to the Trash does not stop the daemon. The plist and config live outside the app bundle on purpose, so a moment-of-weakness uninstall doesn't end an active block. To fully remove the daemon, use the in-app Uninstall flow (Settings → Advanced → Uninstall) or follow the manual uninstall doc.