Safe Mode

Tweaks run inside other people's processes, including ones the desktop depends on. Safe Mode exists because a tweak that crashes the wrong process can leave a Mac that cannot be logged into.

What it does

With Safe Mode engaged, the loader stands every tweak down at process spawn. Nothing is uninstalled and no filter is changed; tweaks are simply not injected. Processes started while it is on run clean.

Turning it on

Use the buttons in the app. They exist because the alternative is typing commands into a terminal on a machine that may not have a usable desktop, which is exactly the situation Safe Mode is for.

The marker is persistent rather than living in /var/run. Safe Mode takes effect by restarting userspace, and that wipes /var/run, so a marker there would be deleted by the very reboot meant to apply it.

Coming back out

Clearing the flag is not enough on its own. Every process running at that moment started with tweaks stood down, so they stay untweaked until they restart. A userspace reboot is what brings everything back up with tweaks active.

Testing without risking the session

  • Target a process you can restart freely before targeting one you cannot.
  • Never target WindowServer without meaning to. The loader excludes it before any filter is evaluated, and reaching it requires naming it explicitly in Executables.
  • Watch the log the first time a tweak loads somewhere new, rather than assuming the filter matched what you expected.