Home > Mac administration, macOS > Most Apple apps installed with the OS have a new filesystem location

Most Apple apps installed with the OS have a new filesystem location

Starting with Mac OS X 10.0.0, Mac apps have traditionally been installed into /Applications or /Applications/Utilities. It appears to be the same on macOS Catalina, but appearances can be deceiving.

As part of implementing a read-only volume for the OS, Apple has moved the apps it installs along with the OS from /Applications to a new location on the read-only volume: /System/Applications

Screen Shot 2019 10 11 at 11 06 55 AM

For operations in the Finder, this move won’t make a lot of difference because Apple has made sure that the applications in question still appear in /Applications and /Applications/Utilities.

Screen Shot 2019 10 11 at 11 06 11 AM

However, if a script or other command line tool is referencing an app in /Applications or /Applications/Utilities, the new /System/Applications and /System/Applications/Utilities path must be referenced. In my case, I ran across this as part of a script that as part of its work was referencing the Keychain Access app in the following location:

/Applications/Utilities/Keychain Access.app

The script failed because Keychain Access is no longer available at that location on macOS Catalina. To fix this, I updated the script to use the following location:

/System/Applications/Utilities/Keychain Access.app

Once that was done, the script ran without problems again.

This new location on the read-only volume only applies to apps which Apple installs as part of the OS or which are only updated by OS updates. For example, because Safari may be installed or updated separately, the Safari app is not located on the read-only volume in /System/Applications. Instead, Safari remains in /Applications as /Applications/Safari.app.

Screen Shot 2019 10 11 at 11 22 09 AM

Categories: Mac administration, macOS
  1. Daniel Farnworth
    October 11, 2019 at 7:18 pm

    You could update any scripts that reference /Applications, to set a variable to either contain /System or be empty dependent on the OS version and then use something like this pseudo code:

    if <> then
    APPL_PREFIX=“/System”
    fi

    Perform some action on ”$APPL_PREFIX/Applications/Chess.app”

  2. October 11, 2019 at 8:33 pm

    Perhaps any scripts should use logic to test where the required app is. Should Apple have made this backwards compatible some how with symlinks et al?

  3. Alexander Duffner
    October 15, 2019 at 9:25 am

    My test result is different. Can you explain why? I am on macOS 10.15 (19A583).
    ~ $ open “/Applications/Apple Configurator 2.app”
    ~ $ open “/System/Applications/Apple Configurator 2.app”
    The file /System/Applications/Apple Configurator 2.app does not exist.

    • October 15, 2019 at 12:58 pm

      Apple Configurator 2 is not an app installed by the operating system, so it’s not included in the set of apps stored in /System/Applications. Apple Configurator 2 is installed via the Mac App Store.

      • Alexander Duffner
        October 16, 2019 at 7:44 am

        Got it, thank you for your answer. I just checked the system folder to see what apps are installed there. Sorry for my not well thought out question.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: