Introduction: Fix Focusrite Thunderbolt "No Hardware Connected" Bug on MacOS

Focusrite Clarett interfaces have a very annoying issue. When you disconnect your interface and reconnect it, it will regularly not be recognized and your computer must be restarted just to get your interface to be recognized and pass audio. I wrote a shell script that automates a complicated fix provided by Focusrite and doesn't require a system restart.

Adapted from this Focusrite help article: https://support.focusrite.com/hc/en-gb/articles/1...

Step 1: Make Sure Your Interface Is Actually Connected

Go to the Apple logo at the top right > about this mac > system report > thunderbolt/usb4. Make sure your interface is listed, if it is not then something else is wrong with your interface or cable.

Step 2: Create a New Automation With Automator

Open the application "Automator" and select "new document" and then select quick action in the window that pops up.

Step 3: Add Shell Script Code

In the search bar at the top left, search for "run shell script" and add the following code to the text editor:

open -a /Users/USERNAME/Documents/FocusriteControlServer
sudo pkill -9 coreaudiod

**replace "USERNAME" with your own system user name as shown in the screenshot**

This shell script forces the Focusrite control server daemon to open and shuts down your Mac's core audio utility. Core audio will restart automatically right away and makes it rediscover your interface as an audio device.

When you're finished entering the code, save the action and name it. I called mine "FixInterface".

Step 4: Disable Password Authentication for Sudo Commands

The sudo command requires a password by default because some sudo commands can do damage to your operating system. It's possible to delete important files and disable security features - we're not doing any of that but you should understand the risks, don't play around with sudo commands basically. All we're doing is restarting core audio, but unless you want to enter a password every time you need to allow your user account to enter sudo commands without a password.

Open terminal and type "sudo visudo". An editor will show up with a bunch of lines of code. Scroll down until you see the line "%admin ALL=(ALL) ALL". Edit this line to read "%admin ALL=(ALL) NOPASSWD: ALL". You'll need to navigate with the arrow keys, make sure you copy this exactly. When you're finished press escape, then type ":wq", the editor will exit.

Step 5: Assign a Keyboard Shortcut to the Action

The final step is to assign a keyboard shortcut to activate the shell script. Go to system preferences > keyboard > shortcuts > services and scroll down until you find your action, it should be under "General". Select the action and click "add shortcut" and enter a key combination to bind it to the action. Make sure it doesn't overlap with other keyboard shortcuts for any apps you might use, you might need to change it later if you find conflicts. Make sure the blue box for the shortcut is ticked off.

Now when you encounter this bug, you should be able to hit this keyboard shortcut and your interface will automatically connect. If the shortcut doesn't work for some reason, you can go to the application menu in the top left (for example safari) > services > fixInterface to activate it manually.