Suppressing Siri pop-up windows on macOS Sierra
Starting in 10.7.2, Apple set the iCloud sign-in to pop up on the first login.
In 10.10, Apple added a new Diagnostics & Usage window that pops up at first login after the iCloud sign-in.
In 10.12, Apple added another new pop-up window for Siri.
To stop the Siri pop-up window from appearing for your home folder, run the command shown below:
defaults write com.apple.SetupAssistant DidSeeSiriSetup -bool TRUE
Since you normally will be able to run this command only after you’ve seen the Siri pop-up window, I’ve updated my script for suppressing the iCloud and Diagnostic pop-up windows to now also suppress the Siri pop-up window. For more details, see below the jump.
The script is below and is also available on my GitHub repo. This script is also available as a payload-free package on my GitHub repo, available for download from the payload_free_package directory available from the link above.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Determine OS version | |
osvers=$(sw_vers -productVersion | awk -F. '{print $2}') | |
sw_vers=$(sw_vers -productVersion) | |
# Determine OS build number | |
sw_build=$(sw_vers -buildVersion) | |
# Checks first to see if the Mac is running 10.7.0 or higher. | |
# If so, the script checks the system default user template | |
# for the presence of the Library/Preferences directory. Once | |
# found, the iCloud, Diagnostic and Siri pop-up settings are set | |
# to be disabled. | |
if [[ ${osvers} -ge 7 ]]; then | |
for USER_TEMPLATE in "/System/Library/User Template"/* | |
do | |
/usr/bin/defaults write "${USER_TEMPLATE}"/Library/Preferences/com.apple.SetupAssistant DidSeeCloudSetup -bool TRUE | |
/usr/bin/defaults write "${USER_TEMPLATE}"/Library/Preferences/com.apple.SetupAssistant GestureMovieSeen none | |
/usr/bin/defaults write "${USER_TEMPLATE}"/Library/Preferences/com.apple.SetupAssistant LastSeenCloudProductVersion "${sw_vers}" | |
/usr/bin/defaults write "${USER_TEMPLATE}"/Library/Preferences/com.apple.SetupAssistant LastSeenBuddyBuildVersion "${sw_build}" | |
/usr/bin/defaults write "${USER_TEMPLATE}"/Library/Preferences/com.apple.SetupAssistant DidSeeSiriSetup -bool TRUE | |
done | |
# Checks first to see if the Mac is running 10.7.0 or higher. | |
# If so, the script checks the existing user folders in /Users | |
# for the presence of the Library/Preferences directory. | |
# | |
# If the directory is not found, it is created and then the | |
# iCloud, Diagnostic and Siri pop-up settings are set to be disabled. | |
for USER_HOME in /Users/* | |
do | |
USER_UID=`basename "${USER_HOME}"` | |
if [ ! "${USER_UID}" = "Shared" ]; then | |
if [ ! -d "${USER_HOME}"/Library/Preferences ]; then | |
/bin/mkdir -p "${USER_HOME}"/Library/Preferences | |
/usr/sbin/chown "${USER_UID}" "${USER_HOME}"/Library | |
/usr/sbin/chown "${USER_UID}" "${USER_HOME}"/Library/Preferences | |
fi | |
if [ -d "${USER_HOME}"/Library/Preferences ]; then | |
/usr/bin/defaults write "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant DidSeeCloudSetup -bool TRUE | |
/usr/bin/defaults write "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant GestureMovieSeen none | |
/usr/bin/defaults write "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant LastSeenCloudProductVersion "${sw_vers}" | |
/usr/bin/defaults write "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant LastSeenBuddyBuildVersion "${sw_build}" | |
/usr/bin/defaults write "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant DidSeeSiriSetup -bool TRUE | |
/usr/sbin/chown "${USER_UID}" "${USER_HOME}"/Library/Preferences/com.apple.SetupAssistant.plist | |
fi | |
fi | |
done | |
fi | |
exit 0 |
For those who want to disable the Siri pop-up window using management profiles, I’ve created a .mobileconfig file and posted it here on Github:
https://github.com/rtrouton/profiles/tree/master/SkipSiriSetup
Hey Rich, thanks for this! I put this in place of the other diagnostics blocking script you shared previously for El Cap, and someone today got prompts for iCloud Drive sync/backup and enabling FileVault 2. Have you seen those notifications at all?
I’m using your mobileconfig file in Casper and the Siri window is still popping up on new user logins. Mac is on the domain
Worked like a charm on my iMac — thanks!
Any tip on disabling the TouchID setup on login as well?
Nevermind, found DidSeeTouchIDSetup in the SetupAssistant.plist and set to true. Bypasses TouchID setup on the new TouchBar MacBooks Pros.
Do you run this script at the login screen.
Rich, how come your loop applies this to every directory in User Template vs just Non_Localized? Doesn’t Non_Localized get merged with each localization when creating a profile?
Hey Rich. This is beautiful work. I must be missing something because my client machines still ask whether we want to send analytics (formerly Diagnostics and Usage). I check the plist afterword and DidSeeCloudDiagnostics is in there. I add it to the script and then none of the dialogs are skipped. This is been pestering me for a while now.
In the same boot as Justin. Analytics. No matter what I do – I get an Analytics screen at first login for all users. Driving me nuts. High Sierra
Is that still work for Catalina