Skip to main content

We have been using the following script as part of our deployments since Apple silicon became a thing (I did not write the script). It appears that the “--agree-to-license” no longer functions in Tahoe and appears to invoke “help” in policy logs

. Manually running “softwareupdate –-install-rosetta --agree-to-license” also returns “help” contents. Has anyone else seen this?
 

#!/bin/bash
# Installs Rosetta as needed on Apple Silicon Macs.
exitcode=0
# Determine OS version
# Save current IFS state
OLDIFS=$IFS
IFS='.' read osvers_major osvers_minor osvers_dot_version <<< "$(/usr/bin/sw_vers -productVersion)"
# restore IFS to previous state
IFS=$OLDIFS
# Check to see if the Mac is reporting itself as running macOS 11
if [[ ${osvers_major} -ge 11 ]]; then
# Check to see if the Mac needs Rosetta installed by testing the processor
processor=$(/usr/sbin/sysctl -n machdep.cpu.brand_string | grep -o "Intel")
if [[ -n "$processor" ]]; then
echo "$processor processor installed. No need to install Rosetta."
else
# Check for Rosetta "oahd" process. If not found,
# perform a non-interactive install of Rosetta.
if /usr/bin/pgrep oahd >/dev/null 2>&1; then
echo "Rosetta is already installed and running. Nothing to do."
else
/usr/sbin/softwareupdate –-install-rosetta –-agree-to-license
if [[ $? -eq 0 ]]; then
echo "Rosetta has been successfully installed."
else
echo "Rosetta installation failed!"
exitcode=1
fi
fi
fi
else
echo "Mac is running macOS $osvers_major.$osvers_minor.$osvers_dot_version."
echo "No need to install Rosetta on this version of macOS."
fi
exit $exitcode

 

Hello,

A more reliable way to handle this now is to use a direct check for the existence of Rosetta 2's components and then run the installation command without the license flag, as the user is prompted to agree to the license by the macOS itself. Here is a simplified and more  robust script that is often used today: #!/bin/bash
# Check if Rosetta is already installed
if /usr/bin/pgrep oahd >/dev/null 2>&1; then
    echo "Rosetta is already installed."
else
    # Install Rosetta silently
    /usr/sbin/softwareupdate --install-rosetta --quiet
    echo "Rosetta installation initiated."
fi

This version uses the --quiet flag, which is a better alternative for non-interactive installations and is more consistently supported in recent macOS releases. 


Before diving too deep in to troubleshooting the script, are you guys still deploying anything that has x64 binaries? Rosetta also goes in to a sort of end of life mode with macOS 27, so if there is still anything using x64 binaries you really want to look in to getting rid of it now.


I do have Rosetta install for one application and use the same script. My notes show I acquired it from here: 

https://github.com/rtrouton/rtrouton_scripts/blob/main/rtrouton_scripts/install_rosetta_on_apple_silicon/install_rosetta_on_apple_silicon.sh

Looking in the policy history for a recent Tahoe test install, I do see the following. However the policy log for the PKG installation that requires Rosetta (confirmed as recently as a month ago) shows no errors and the software installed and works. I might have to do testing to confirm.

Script result: 2025-09-16 15:02:23.743 softwareupdate[2709:27169] Package Authoring Error: 093-37620: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
By using the agreetolicense option, you are agreeing that you have run this tool with the license only option and have read and agreed to the terms.
If you do not agree, press CTRL-C and cancel this process immediately.

Installing: 0.0%
Installing: 0.0%
Installing: 0.0%
Installing: 100.0%
Installing: 100.0%
Installing: -1.0%
Installing: -1.0%
Installing: 100.0%
Install of Rosetta 2 finished successfully
Rosetta has been successfully installed.

 


Before diving too deep in to troubleshooting the script, are you guys still deploying anything that has x64 binaries? Rosetta also goes in to a sort of end of life mode with macOS 27, so if there is still anything using x64 binaries you really want to look in to getting rid of it now.

I 100% agree with you. We are planning to decommission some things. That being said, we currently have some applications require it. 


Hi ​@rpayne ,

I recommend installing RosettaUpdateAuto.pkg instead of using a script, as I’ve seen script installs fail on macOS Sequoia. Using the pkg worked well for me, though I haven’t tested it on macOS Tahoe. Might be worth a try — link attached.

https://swscan.apple.com/content/catalogs/others/index-rosettaupdateauto-1.sucatalog.gz