Using Unsigned Max Externals on Mac OS 10.15 (Catalina)
The release of Mac OS 10.15 (aka Catalina) has brought increased security settings that may prevent the loading of unsigned 3rd party externals. On Mac OS 10.15, when a file like this is downloaded from the web, it is marked with com.apple.quarantine via extended file attributes (xattrs), which then prevents loading in Max. The longer term solution will be for third party developers to sign their externals, however there are many safe-to-use externals that are no longer in active development, but still relied on by many. In the meantime, there are several workarounds that can be used. All of these options involve bypassing Apple’s security infrastructure, so make sure you have downloaded the externals from a trusted source.
The current best option is to run Terminal’s ‘xattr’ utility using the ‘-d’ option to remove the ‘com.apple.quarantine’ xattr entirely. Open the Terminal utility and type:
xattr -d com.apple.quarantine [path/to/extern.mxo]
If you have a number of externals that you wish to perform this on, you can use the ‘-r’ option to the xattr command, which acts recursively on a directory or bundle. Open the Terminal utility and type:
xattr -d -r com.apple.quarantine [path/to/extern/directory]
In an upcoming version of Max, we hope to add better notification when the com.apple.quarantine xattr is present on a file that Max attempts to load, and will be exploring other options for improvements in this area.
Please note that the "right-click" to overcome Gatekeeper no longer appears to work on 10.15+.
- Feb 16 2020 | 7:25 pmThis is not working I've tried several times and still have program error thtis is the error list, what can I do?
- Feb 22 2020 | 11:18 pmHas anyone had this work on their Catalina machines? It hasn't worked on mine either. Thank you.
- Feb 24 2020 | 11:45 amOpen the Terminal utility and type: sudo xattr -rd com.apple.quarantine / Your software path.app(You can pull the mxo. file into the terminal )
- Mar 03 2020 | 11:08 amxattr: /Users/josemanuelberenguer/Documents/Max 8/Library/iCube_Max-410_macos: No such xattr: com.apple.quarantine
- Mar 03 2020 | 3:45 pmPulling the .mxo file into the terminal itself did the trick, thank you!
- Mar 13 2020 | 11:48 pmHow do I pull the .mxo file into the terminal? Thanks!!
- Mar 14 2020 | 12:42 pmDrag the object into the terminal window. It will show you the right path.
- Mar 14 2020 | 4:07 pmThanks a lot MP the thingis that I can’t find the object or .mxo file in my Mac anywhere. I had already deactivated the quarantine in my Macbook and the Max 8 app is opening fine, but when I try to open it in Ableton through Preferences->File/Folder->Max app my Ableton closes/crashes instantly. I don’t know if it’s still because of Catalina
- Mar 15 2020 | 12:00 pmHello... I've sucessfully used the xattr -d and xattr -d -r commands to cancel the quarantine flag of some third party externals or folders. Nevertheless, some of them (as "shell" external, revised some years ago by Jeremy Bernstein) resists this command and max refuses to load them due to security policy. This is because I tried xatter -c. It works when Max is open during the execution on the terminal. If max is closed, when opening it after the execution of the command, max doesn't accept to instantiate shell. The quarantine atribute seems hasn't been completely removed.Any Ideas about what to do in such cases? Many thanks!All the bestJosé Manuel Berenguer
- Mar 15 2020 | 3:25 pmAfter trying individual to remove the quarantine on individual files I took the nuclear option. This cleared up everything for me:
sudo xattr -rd com.apple.quarantine /Applications/Max.app/Contents
- Mar 15 2020 | 3:41 pmMany thanks ... Tried it. Unfortunately it does not apply to "shell" in my system ....
- Mar 15 2020 | 4:29 pmBummer. I'd experiment with running the command on increasingly higher directories containing those files.
- Mar 16 2020 | 2:12 pmyou have to run that command on the directory where your shell external is stored. shell is not a factory external, and therefore won't be in the Max app, but in some other directory in your Max search path.
- Mar 23 2020 | 12:08 pm
- Apr 01 2020 | 6:10 amI have tried everything now but it does not work there is someone who can explain to me exactly which commands I have to execute in the terminal of Catalina
- Apr 01 2020 | 10:53 amin terminal type: sudo xattr -rd com.apple.quarantine add space at the end ! drop directory to remove com.apple.quarantine hit enter, type admin password, enter. or type : sudo xattr -rd com.apple.quarantine ~/ hit enter, type admin password, enter. that would wipe all com.apple.quarantine xattributes in the current user directory. ---------- there is nothing wrong removing ALL xattributes from the user directory sudo xattr -cr ~/ ---- Permanent freedom from apple restrictions would be to deactivate SIP and disable gatekeeper all together and finally stop updating system if it's not really necessary.
- Apr 01 2020 | 3:58 pmMy experience is similar to Source Audio's. But I don't clear all xattr for the home directory, only the files/folders that I need... For instance, an AU or VST plugin that hasn't been updated residing in /Library/Audio/Plugins... sudo xattr -cr "and drop the offending folder/file" It clears all xattributes recursively and usually works. I also disable SIP (System Integrity Protection). I'm still on Mojave (and for the foreseeable future). I understand the need for security but Apple's tendency lately in this regard has been too much...
- Apr 01 2020 | 6:54 pmI would advise against running the command on everything in your user (~/) directory. These security measures are in place for a reason. I agree with Pedro to only perform this action against files and directories that need it.Dietmar, can you share screenshots or log messages so we can help?
- Apr 01 2020 | 7:16 pm
- Apr 03 2020 | 4:04 pmOne of these two commands should work for you depending on where you installed Max:
sudo xattr -rd com.apple.quarantine /Applications/Max.app/
sudo xattr -rd com.apple.quarantine ~/Applications/Max.app/
Can you run both of them in the terminal and share the output? - Apr 03 2020 | 5:24 pmthere should be absolutely no need to run xattr on the Max app itself. instead you should run xattr on the folder that contains the 3rd party externals that you are trying to load. if it's a package, especially one that contains support libraries, run it on the entire package folder.
- Apr 03 2020 | 10:12 pmIf you've put the orchidea in the Packages folder, it should be something like this: sudo xattr -cr /Users/"You"/Documents/Max\ 8/Packages/orchidea
- Apr 04 2020 | 6:55 amThank you for your support but I solved the problem. I had an apple antivirus scanner that I deleted, everything works fine now. Maybe this is also a possible solution for all who have similar problems)
- Apr 08 2020 | 3:20 pmI'm getting the same issues and nothing here is working for me. Any other ideas?
- Apr 08 2020 | 3:35 pm
- Apr 08 2020 | 3:44 pmwhere did you get that sigmund~ object ? 64 bit ?
- Apr 08 2020 | 3:50 pmIt seems to me that your sigmund~object does not match your Max version. I Belice this has nothing to do with Catalina Security policies.
- Apr 08 2020 | 4:40 pmThat might be the issue, it worked for my professor who is still on 8.1.0, and I'm on 8.1.3. Is there a way to "revert" back to an earlier version of Max to see if that would work?
- Apr 09 2020 | 7:02 amYou can have all max versions , just download older one and rename it like Max808.app But I don't think there is difference between max 8.1.3 and 8.1.0 ... Anyway make sure to download 64 bit versionhttps://github.com/v7b1/sigmund_64bit-version/releases
- Apr 13 2020 | 3:51 pmHi. I am having the same problem with the latest version of fiddle from here (https://github.com/v7b1/fiddle_64bit_version/releases). It was working all fine on Catalina until I upgraded to Max 8.1.3. I have tried everything including going back to 8.1.2 but no luck. It seems to be a real issue for many Max users using "unsigned" externals. Any help appreciated.
- Apr 13 2020 | 4:27 pmHi there,I still cannot run a basic external (RTC library)... I've tryied everything you've mentioned without results... can anyone give me a help? :)
- Apr 13 2020 | 5:02 pmOK I think Cycling needs to do something about this as a lot of us are basically stuck. Cycling 74 please help.
- Apr 23 2020 | 7:22 pmI have tried the different solutions but none work yet I anyone can help me ? Thanks laurent
- Apr 23 2020 | 8:04 pmFWIW, I'm getting this error on jit.gl.syphon after a fresh update in the Package Manager and I'm NOT running Catalina, but 10.14.6 Mojave. Max 8.1.3.
- Apr 23 2020 | 8:12 pmQuick followup: turned out Max didn't yet have access to the camera in the Security: Privacy settings. Once I instantiated a jit.grab and gave it permission, jit.gl.syphonserver was also able to instantiate.
- May 02 2020 | 2:17 pmWith Max 8.1.3 it's helpful that the name of the external causing the error is printed in the console. I do wish it showed the full path to the external though. That would be similar to the "you have multiple files in your search path" conflict messages that include full path names.(I had installed some externals for both Max 7 and Max 8 and initially removed the com.apple.quarantine xattr from the ones being read in the Max 7 path, which, as you might suppose, did not improve life when using Max 8.)
- May 05 2020 | 2:19 amThank you!!!! A space!!
- May 10 2020 | 3:45 pmHey All, I encountered the same problem as JOSÉ MANUEL BERENGUER with the Shell object in max8.1.3 after the Catalina update.JOSÉ MANUEL BERENGUER: did you find a solution to the problem?
- May 10 2020 | 7:35 pmDear Fabrizio Saiu : No. I didn't. I was considering try with Node.js. The problem is that with Node.js any code will only work in Max 8...
- May 17 2020 | 4:59 pm
- May 23 2020 | 12:38 pmThis is really annoying. None of the above mentioned workarounds functions ....
- Jul 01 2020 | 11:27 pmI was having this issue when I was using my Documents directory which I have syncing to iCloud. When I made a new directory outside of Documents and pointed my File Preferences to the new directory, everything worked just fine.Be careful if you directly copy projects or mxo builds over from the Documents folder though because it may still not work then.
- Aug 26 2020 | 4:30 pm
- Aug 27 2020 | 6:42 amthat external is 32 bit only. You can read that from the error: wrong architecture there seem to be 64 bit version of it here :https://github.com/brianchasalow/jit.freenect.grab-64-bit/releases
- Aug 27 2020 | 1:30 pm
- Aug 27 2020 | 2:01 pmif you download that top one and extract it, you'll get external. You can place it anywhere in Max search path, but maybe best place would be to replace 32 bit external at it's location. From the screenshot it is in your Documents/Max 8/Library.
- Aug 27 2020 | 2:51 pmthank you Source Audio , do i still have to use sudo xattr ?? and which version of it is useful ?
- Aug 27 2020 | 3:31 pmIt will not harm to remove any xattr from that external. type xattr -cr (add space at the end) into terminal and drop it, hit enter.
- Aug 28 2020 | 4:01 amThank you so much for your amazing help Source Audio , I got it installed but the kinect is not showing , I think I need to use Kinect 360 rather than Kinect V2 ( Xbox One ) , Do you think is this the problem ?