Articles

    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+.

    by Ben Bracken on
    Dec 16, 2019 7:21 PM

    • oscar albaladejo viñas's icon
      oscar albaladejo viñas's icon
      oscar albaladejo viñas
      Feb 16 2020 | 7:25 pm
      This is not working I've tried several times and still have program error thtis is the error list, what can I do?
      Share
    • snh92's icon
      snh92's icon
      snh92
      Feb 22 2020 | 11:18 pm
      Has anyone had this work on their Catalina machines? It hasn't worked on mine either. Thank you.
    • Hsien-Te Hsueh's icon
      Hsien-Te Hsueh's icon
      Hsien-Te Hsueh
      Feb 24 2020 | 11:45 am
      Open the Terminal utility and type: sudo xattr -rd com.apple.quarantine / Your software path.app(You can pull the mxo. file into the terminal )
    • José Manuel Berenguer's icon
      José Manuel Berenguer's icon
      José Manuel Berenguer
      Mar 03 2020 | 11:08 am
      xattr: /Users/josemanuelberenguer/Documents/Max 8/Library/iCube_Max-410_macos: No such xattr: com.apple.quarantine
    • snh92's icon
      snh92's icon
      snh92
      Mar 03 2020 | 3:45 pm
      Pulling the .mxo file into the terminal itself did the trick, thank you!
    • Ricardo Cuevas Orendain's icon
      Ricardo Cuevas Orendain's icon
      Ricardo Cuevas Orendain
      Mar 13 2020 | 11:48 pm
      How do I pull the .mxo file into the terminal? Thanks!!
    • mp's icon
      mp's icon
      mp
      Mar 14 2020 | 12:42 pm
      Drag the object into the terminal window. It will show you the right path.
    • Ricardo Cuevas Orendain's icon
      Ricardo Cuevas Orendain's icon
      Ricardo Cuevas Orendain
      Mar 14 2020 | 4:07 pm
      Thanks 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
    • José Manuel Berenguer's icon
      José Manuel Berenguer's icon
      José Manuel Berenguer
      Mar 15 2020 | 12:00 pm
      Hello... 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 best
      José Manuel Berenguer
    • Tyler Etters's icon
      Tyler Etters's icon
      Tyler Etters
      Mar 15 2020 | 3:25 pm
      After 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
    • José Manuel Berenguer's icon
      José Manuel Berenguer's icon
      José Manuel Berenguer
      Mar 15 2020 | 3:41 pm
      Many thanks ... Tried it. Unfortunately it does not apply to "shell" in my system ....
    • Tyler Etters's icon
      Tyler Etters's icon
      Tyler Etters
      Mar 15 2020 | 4:29 pm
      Bummer. I'd experiment with running the command on increasingly higher directories containing those files.
    • Rob Ramirez's icon
      Rob Ramirez's icon
      Rob Ramirez
      Mar 16 2020 | 2:12 pm
      you 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.
    • dhjdhjdhj's icon
      dhjdhjdhj's icon
      dhjdhjdhj
      Mar 23 2020 | 12:08 pm
      Max 8.1.2 was working fine. I just updated to 8.1.3 and now I'm getting a bunch of errors (see attached). If this was a catalina issue, shouldn't I have seen this issue with 8.1.2 as well?
      I tried the nuclear option as described above and that worked for me as well.
    • Dietmar Kirchner's icon
      Dietmar Kirchner's icon
      Dietmar Kirchner
      Apr 01 2020 | 6:10 am
      I 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
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Apr 01 2020 | 10:53 am
      in 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.
    • Pedro Santos's icon
      Pedro Santos's icon
      Pedro Santos
      Apr 01 2020 | 3:58 pm
      My 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...
    • Tyler Etters's icon
      Tyler Etters's icon
      Tyler Etters
      Apr 01 2020 | 6:54 pm
      I 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?
    • Dietmar Kirchner's icon
      Dietmar Kirchner's icon
      Dietmar Kirchner
      Apr 01 2020 | 7:16 pm
      Thank you for your answer, yes I cannot work with the patch because Catalina's security settings do not allow it. I have MacOS Catalina version 10.15.3
      Thank´s for support
    • Tyler Etters's icon
      Tyler Etters's icon
      Tyler Etters
      Apr 03 2020 | 4:04 pm
      One 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?
    • Rob Ramirez's icon
      Rob Ramirez's icon
      Rob Ramirez
      Apr 03 2020 | 5:24 pm
      there 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.
    • Pedro Santos's icon
      Pedro Santos's icon
      Pedro Santos
      Apr 03 2020 | 10:12 pm
      If 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
    • Dietmar Kirchner's icon
      Dietmar Kirchner's icon
      Dietmar Kirchner
      Apr 04 2020 | 6:55 am
      Thank 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)
    • Dalton Ringey's icon
      Dalton Ringey's icon
      Dalton Ringey
      Apr 08 2020 | 3:20 pm
      I'm getting the same issues and nothing here is working for me. Any other ideas?
    • Dalton Ringey's icon
      Dalton Ringey's icon
      Dalton Ringey
      Apr 08 2020 | 3:35 pm
      After running the various fixes this is the error message I get
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Apr 08 2020 | 3:44 pm
      where did you get that sigmund~ object ? 64 bit ?
    • José Manuel Berenguer's icon
      José Manuel Berenguer's icon
      José Manuel Berenguer
      Apr 08 2020 | 3:50 pm
      It seems to me that your sigmund~object does not match your Max version. I Belice this has nothing to do with Catalina Security policies.
    • Dalton Ringey's icon
      Dalton Ringey's icon
      Dalton Ringey
      Apr 08 2020 | 4:40 pm
      That 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?
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Apr 09 2020 | 7:02 am
      You 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 version
      https://github.com/v7b1/sigmund_64bit-version/releases
    • renalain's icon
      renalain's icon
      renalain
      Apr 13 2020 | 3:51 pm
      Hi. 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.
    • alexfenerich's icon
      alexfenerich's icon
      alexfenerich
      Apr 13 2020 | 4:27 pm
      Hi 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? :)
    • renalain's icon
      renalain's icon
      renalain
      Apr 13 2020 | 5:02 pm
      OK I think Cycling needs to do something about this as a lot of us are basically stuck. Cycling 74 please help.
    • Laumar's icon
      Laumar's icon
      Laumar
      Apr 23 2020 | 7:22 pm
      I have tried the different solutions but none work yet I anyone can help me ? Thanks laurent
    • erichonour's icon
      erichonour's icon
      erichonour
      Apr 23 2020 | 8:04 pm
      FWIW, 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.
    • erichonour's icon
      erichonour's icon
      erichonour
      Apr 23 2020 | 8:12 pm
      Quick 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.
    • tyler mazaika's icon
      tyler mazaika's icon
      tyler mazaika
      May 02 2020 | 2:17 pm
      With 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.)
    • Dongsun Han's icon
      Dongsun Han's icon
      Dongsun Han
      May 05 2020 | 2:19 am
      Thank you!!!! A space!!
    • FABRIZIO SAIU's icon
      FABRIZIO SAIU's icon
      FABRIZIO SAIU
      May 10 2020 | 3:45 pm
      Hey 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?
    • José Manuel Berenguer's icon
      José Manuel Berenguer's icon
      José Manuel Berenguer
      May 10 2020 | 7:35 pm
      Dear 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...
    • FABRIZIO SAIU's icon
      FABRIZIO SAIU's icon
      FABRIZIO SAIU
      May 17 2020 | 4:59 pm
      Thanks José! I downgraded to high Sierra... But, be careful! You must absolutely avoid installing this update because the external ones will be blocked again.
    • mheton's icon
      mheton's icon
      mheton
      May 23 2020 | 12:38 pm
      This is really annoying. None of the above mentioned workarounds functions ....
    • Rachel Rybarczyk's icon
      Rachel Rybarczyk's icon
      Rachel Rybarczyk
      Jul 01 2020 | 11:27 pm
      I 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.
    • behrad rezaei's icon
      behrad rezaei's icon
      behrad rezaei
      Aug 26 2020 | 4:30 pm
      hey guys,
      im having issues installing this object https://jmpelletier.com/freenect/I have tried all the above but doesnt work ,
      please help
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Aug 27 2020 | 6:42 am
      that 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
    • behrad rezaei's icon
      behrad rezaei's icon
      behrad rezaei
      Aug 27 2020 | 1:30 pm
      Thanks, Source Audio, I am new to MAX, and could anyone help me with theinstallation of this external object into max 8 ? I am not sure should I download all 3 or just the top one ? and which folder they need to be placed?
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Aug 27 2020 | 2:01 pm
      if 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.
    • behrad rezaei's icon
      behrad rezaei's icon
      behrad rezaei
      Aug 27 2020 | 2:51 pm
      thank you Source Audio , do i still have to use sudo xattr ?? and which version of it is useful ?
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Aug 27 2020 | 3:31 pm
      It 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.
    • behrad rezaei's icon
      behrad rezaei's icon
      behrad rezaei
      Aug 28 2020 | 4:01 am
      Thank 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 ?
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Aug 28 2020 | 7:24 am
      I have no idea about that xbox devices, never used one. the original page does not load here, I get ns security errors when trying to load http://jmpelletier.com/ So there is no info I could read about what device this external is supposed to support. Search the forums and maybe follow this link. https://cycling74.com/forums/max-and-kinect-resources/ ---------- UPDATE : check this forum, scroll to the end.
      https://cycling74.com/forums/jit-freenect-grab-on-64-bit
    • Lesnoj's icon
      Lesnoj's icon
      Lesnoj
      Oct 20 2020 | 10:40 am
      Same Problem here with a new object shared in these days (cv.jit.rj.findcontours: cannot be loaded due to system security policy) - also after this --> sudo xattr -rd com.apple.quarantine /Users/STANISLAO/Documents/Max\ 8/Packages/cv.jit/externals/cv.jit.rj.findcontours.mxo and requested password... Running sierra on Mac
    • AudioMatt's icon
      AudioMatt's icon
      AudioMatt
      Oct 20 2020 | 11:34 am
      Just saw this. wow! looking like I shouldn't upgrade! eek.
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Oct 20 2020 | 11:49 am
      Just out of curiosity i tested that fincontours external
      it is bogus itself. Even on completely protection free system it won't load. So don't bother trying. whoever is programming it should fix it
    • Lesnoj's icon
      Lesnoj's icon
      Lesnoj
      Oct 20 2020 | 12:55 pm
      Thanks @Source Audio, but are you sure? It seems that someone is using it...
    • micron's icon
      micron's icon
      micron
      Oct 21 2020 | 10:08 pm
      @Source Audio can you write here your version of osx, we are working to fix this issue on cv.jit.rj.findcontours the last compiled version for Sierra is https://github.com/esnho/cv.jit.rj.findcontours/releases but we need some feedback.
    • 👽R∆J∆ The Resident ∆lien👽's icon
      👽R∆J∆ The Resident ∆lien👽's icon
      @micron in terminal type "sudo xattr -d com.apple.quarantine [path-to-external]" but instead of typing your path in by hand, drag the external directly into the terminal window(just after the space you type which follows 'com.apple.quarantine')...this will insure you have the correct path, and then enter your admin password(for 'sudo' operations("super user do") requires admin level permission).
      i just tried the above exact method on the .mxo zip download found here: https://github.com/esnho/cv.jit.rj.findcontours/releases/tag/0
      it works for me(alternately, when i first tried dragging the external onto Max icon to load it without removing quarantine, Max itself asked if i'd like it to try to remove the quarantine, i told it to 'proceed' and it worked... maybe something new as of Max8.1.7? but then after deleting the external,redownloading,reloading,etc. to check if i can reproduce the same success, MacOSX now intercepts before Max can even do anything and I have to use the terminal method again from now on 😂)
    • 👽R∆J∆ The Resident ∆lien👽's icon
      👽R∆J∆ The Resident ∆lien👽's icon
      [Edit: the article said this wouldn't work, but i just upgraded to 10.15.7 and it does seem to work for me] oh, i just found another way around this: 1) right-click on the external to choose from the contextual MacOSX/Finder menu to open with Max
      2) (if this second step doesn't show the following window, try hitting 'cancel' and then repeating the first step, sometimes it rejects it, other times the following dialog shows)... click "Open" in the dialog that follows to confirm:
      and from there(load a patch or create one that uses the external as normal), the external can be moved anywhere and it remains available for that system anytime you want to use it again afterwards without having to go through the process again.
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Oct 22 2020 | 11:18 am
      @ MICRON
      I run High Sierra 10.13.6, but - bare bones system on Hackintosh with Chameleon boot loader means 80 % of launch daemons are removed, system has no protection, security , gate keeper, sandbox or anything else that might prevent external from running.
    • Rob Ramirez's icon
      Rob Ramirez's icon
      Rob Ramirez
      Oct 22 2020 | 2:55 pm
      i believe there are 2 distinct issues being discussed. the gatekeeper issues are separate from the issue Micron had with the external not loading on earlier versions of the macOS.
    • 👽R∆J∆ The Resident ∆lien👽's icon
      👽R∆J∆ The Resident ∆lien👽's icon
      i believe there are 2 distinct issues being discussed.
      apologies, completely my fault (i ran into this issue with my own external, but then couldn't reproduce the quarantine(didn't realize after an update to XCode, that it hadn't installed additional 'debug'related things yet(probably some things that allow me to build/test without quarantine under same admin account?), until I ran XCode a second time, got the dialog to install additional stuff, rebuilt, and no longer have any quarantine-issue), so i decided to try the steps out on micron's external to learn how to remove quarantine for sure, and was excited to find my solutions posted above).
      still related to the thread, though: i'm looking at signing my external, but $99 seems steep just to sign one external to release for free. (i might do it, though), if there are any other options or solutions(upcoming or otherwise known), anyone with any information please feel free to link me... and i assume the starting information for how-to-sign can be found here, let me know if others have better sources: https://developer.apple.com/developer-id/
    • zsong's icon
      zsong's icon
      zsong
      Oct 30 2020 | 6:29 am
      hey guys,
      I am having a similar issue as the extenal doesn't run on 64bit version I guess. But it does worked last year when I used OS sierra +max8. Does anyone have an idea on how to fix it? I'm currently on Max 8.0.8 and Catalina 10.15.2. Thank you.
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Oct 30 2020 | 8:46 am
      If external is 32 bit only, your only chance is to use max 800 : the initial build of max 8. It still had 32 bit support. https://akiaj5esl75o5wbdcv2a-maxmspjitter.s3.amazonaws.com/Max800_180925.dmg And forget Catalina. Go back to Sierra, there you can also use max 7xx in 32 bit mode
    • Roman Thilenius's icon
      Roman Thilenius's icon
      Roman Thilenius
      Oct 31 2020 | 8:24 am
      max requires high sierra for other reasons. 64 bit requires a coreduo or G5 PPC processor and OSX 10.5
    • Source Audio's icon
      Source Audio's icon
      Source Audio
      Oct 31 2020 | 9:56 am
      on Catalina no 32 bit, is clear or ? You need older system that allows 32 bit applications to run. That resolution is about retina display And - don't ruin your system by trying to install older system over Catalina. Either delete all and install all fresh, or create small extra partition to install sierra
    • zsong's icon
      zsong's icon
      zsong
      Oct 31 2020 | 10:11 am
      Thanks. Clear now.
    • Wax's icon
      Wax's icon
      Wax
      Nov 12 2020 | 4:44 pm
      I was struggling with this issue with an M4L device that was trying to load an external.
      If you have this issue, running the xattr command on the actual M4L device file worked for me: sudo xattr -cr [path to device]
      Also, putting the needed M4L external in a 'lib' (or similar) sub folder with the M4L device was required.
    • Frederic Robinson's icon
      Frederic Robinson's icon
      Frederic Robinson
      Jan 29 2021 | 11:40 pm
      I'm having a similar problem with a M4L device using an external. However, the external only gets flagged as a security issue when I freeze the M4L device. When the external is supplied as a separate file in a lib, both max and Ableton Live accept it without problem.
      I tried WAX's solution above, but it does not seem to work for frozen M4L devices. Has anybody encountered this?
    • diegodallosto's icon
      diegodallosto's icon
      diegodallosto
      Feb 24 2021 | 5:17 pm
      I had a problem with csound~ unable to load or not found. So I used sudo xattr -rd com.apple.quarantine followed by the complete path to max8 Packages and it seems to be working now. Thank you. Diego
    • MMa's icon
      MMa's icon
      MMa
      Aug 02 2021 | 7:34 am
      hello everyone I'm working with macOS Mojave/Max 8.1.3 and after following the procedures described by you I still couldn't get the "randdist" object to work, do you have any suggestions?
      Thank you