Space Cat, Prince Among Thieves

Best Way to Run Unsigned Binaries in Terminal on macOS

With the introduction of Apple Silicon, macOS became much more strict about running unsigned binaries. It even refuses to execute them in Terminal. This can be frustrating as many precompiled tools, once easily downloadable from sources like GitHub, may no longer work as expected.

By default, if you try to run an unsigned binary in Terminal, you will see an error like:

Message: Apple could not verify [binary] is free of malware that may harm your Mac or compromise your privacy

Apple could not verify "[binary]" is free of malware that may harm your Mac or compromise your privacy

Instead of offering any help, macOS simply offers to move the binary to the trash. Very frustrating.

You find a lot of complicated solutions online, such as manually unquarantining and self-signing the individual binaries with:

$ xattr -dr com.apple.quarantine ./[binary]
$ codesign -s - --deep --force ./[binary]

Fortunately, there's a simple solution: add Terminal as a system Developer Tool in System Settings.

This will just allow it to run unsigned binaries. No fuss, no muss.

To do this:

  1. Open System Settings
  2. Search for "developer"
  3. Click Allow applications to use developer tools in the sidebar.

If Terminal is not already listed, click the + and search for it:

Shows 'System Settings' app with 'Allow applications to use developer tools' selected and an arrow pointing to the plus option

Search for Terminal in the file dialog that appears, and select it.

File Chooser searching spotlight for Terminal

Once added, ensure the toggle next to Terminal is enabled.

Arrow points to the slider knob to enable Terminal in System Settings

Finally, restart Terminal and everything should now work:

Terminal window showing the previous app that died in error is now a success

There you have it. You may now run any unsigned binary from Terminal without issues.



Email address will never be publicly visible.

Basic HTML allowed.

OSZAR »