23

I used homebrew cask to install many applications for quite a while now. But recently macOS keeps asking me to first confirm the "application downloaded from the internet" question that is usually only displayed for apps that are run for the first time.

enter image description here

What happened and how can I get rid of this?

Update

I use an admin account to install apps (brew cask install calibre), but I basically use a non-admin account all the time. I can get rid of the message by logging into the admin account and launching the app once and then the message disappears also for the user account.

1
  • There is no need to link to the accepted answer in the question. If you want to explain why you moved the "accept" mark to another answer, a comment below the answer might be the better place (especially because the poster of that answer gets notified then).
    – nohillside
    Dec 1, 2019 at 10:24

5 Answers 5

25

Wohoo! I just realized that there is apparently now a built-in solution to the problem! Homebrew offers a --no-quarantine flag. That means one can now install casks without the annoying message, by using

brew install --no-quarantine calibre

or

brew reinstall --no-quarantine calibre

Update: There is currently a bug in Homebrew that prevents the latter command (reinstall) from working.

To make this a default option, add this to your profile:

echo 'export HOMEBREW_CASK_OPTS=--no-quarantine' >> ~/.profile
1
  • 2
    You may wish to put export HOMEBREW_CASK_OPTS=--no-quarantine in your ~/.profile. Feb 28, 2021 at 7:06
9

As you mentioned in your update, you can open the application as an admin user. A more direct way is to run this command as an admin:

xattr -r -d com.apple.quarantine /Applications/Calibre.app
3
  • 1
    Accepting this answer because sudo spctl --master-disable of the other answer is potentially overkill. apple.stackexchange.com/questions/337320/…
    – n1000
    Jan 14, 2019 at 10:04
  • Sorry – un-accepting this answer. Although this is technically still the best answer, I found a more "official" way to do acheive what I want in Homebrew. As this question is specifically about Homebrew, it seems more applicable here.
    – n1000
    Dec 1, 2019 at 10:39
  • @n1000 Good find, I upvoted your new answer because I constantly run into this. Dec 10, 2019 at 17:42
3

More of a workaround than a solution: Launching the App from an account with admin privileges once, makes the message disappear also for the non-admin account. Not sure if this is a bug or a feature... In the past it used to work like that also from non-admin accounts.

0

You need to allow it, in the system preferences.

Open the Terminal app from the /Applications/Utilities/ folder and then enter the following command syntax:

sudo spctl --master-disable

Hit return and authenticate with an admin password

Relaunch System Preferences and go to “Security & Privacy” and the “General” tab

You will now see the “Anywhere” option under ‘Allow apps downloaded from:’ Gatekeeper options

enter image description here

Do not forget to change it back for your safety.

sudo spctl --master-enable

Alternative method is to remove the Apple imposed Quarantine using Terminal command.

For example, if all of the files are in ~/Downloads/ then you would use:

xattr -r -d com.apple.quarantine ~/Downloads/
7
  • Really? Do I need the big guns?! The app will start, it is just this annoying message every time. I think you may be confusing it with the message where macOS blocks the app from launching entirely. Strange it worked before. Did Apple change their policy with the last update or something?
    – n1000
    Sep 23, 2018 at 17:04
  • 1
    Yes Apple changed the policy and actually removed the Anywhere.
    – Ruskes
    Sep 23, 2018 at 17:06
  • It will mark the file as not secure download, and that is why you get the warning.
    – Ruskes
    Sep 23, 2018 at 17:08
  • Unfortunately this does not work. I could change to "Anywhere" but the message persists. I did try: reboot, brew cask reinstall typora, change the settings in Security back and forth... No success :(
    – n1000
    Sep 23, 2018 at 17:14
  • 2
    I'm pretty sure that sudo spctl --master-disable is only needed for apps that will not launch because they are from an unknown developer (and even in that case, it's more preferable to just right-click the app and choose open rather than disabling via spctl). In any event, it's unrelated to this specific dialog box.
    – TJ Luoma
    Sep 23, 2018 at 18:29
0

Export variable HOMEBREW_CASK_OPTS containing --no-quarantine and create a shell alias for user to run brew as admin account.

Fish

config.fish

set -x HOMEBREW_CASK_OPTS --no-quarantine
alias brew="sudo -HEu admin brew"

zsh

.zprofile

export HOMEBREW_CASK_OPTS="--no-quarantine"
alias brew='sudo -Hu admin /opt/homebrew/bin/brew'

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .