Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save aarondavidpolley/9e41928c64203c6cd65ba0a02a37b77b to your computer and use it in GitHub Desktop.
Save aarondavidpolley/9e41928c64203c6cd65ba0a02a37b77b to your computer and use it in GitHub Desktop.
Skip All macOS Setup Assistant Items for new user login: Plist to upload into Jamf Pro Application & Custom Settings Profile Payload
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SkipAppearance</key>
<true/>
<key>SkipCloudSetup</key>
<true/>
<key>SkipPrivacySetup</key>
<true/>
<key>SkipScreenTime</key>
<true/>
<key>SkipSiriSetup</key>
<true/>
<key>SkipTouchIDSetup</key>
<true/>
<key>SkipTrueTone</key>
<true/>
<key>SkipiCloudStorageSetup</key>
<true/>
</dict>
</plist>
@klborders
Copy link

The person on the internet to get this right! 🙇‍♀️

@windowalter
Copy link

can we use this for iOS device

@aarondavidpolley
Copy link
Author

can we use this for iOS device

@windowalter I haven’t needed to in the past. Usually the setup assistant items I skip in Jamf Pro’ PreStage enrolment profile work as expected, or I have prepared with Apple Configurator for a non DEP/ADE method. We also don’t have the same custom setting payload in iOS/device profiles.

Note “Set-up Assistant pane options” on this page: Manage Set-up Assistant for Apple devices

Developer Docs with latest keys that Jamf would be using:

SetupAssistant

Jamf’s document on subject: Automated Device Enrollment for Mobile Devices

@islamadel
Copy link

is is possible to Skip Terms Of Address (feminine, masculine, or neuter) using this plist?
appears in the Setup Assistant of macOS Sonoma

@Onyxmagic
Copy link

Looks like Apple has either killed this feature or JAMF isn't happy about deploying it
Auth via Google SSO > Still have to run through all these settings.

Screenshot 2025-05-14 at 10 39 53

Annoying >.<

@aarondavidpolley
Copy link
Author

The full explanation of how or why this worked is here

https://aarondavidpolley.com/macos-setup-assistant-preferences-skip-screens/

Have not tested recently to confirm if new keys will work.

@Onyxmagic
Copy link

Yup sorry I worked it out in the end, the name needed to be com.apple.SetupAssistant.managed
Then Apple has deprecated the functions so it's strings now

E.G

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>SkipSetupItems</key>
    <array>
      <string>Intelligence</string>
      <string>Siri</string>
      <string>ScreenTime</string>
      <string>AppleID</string>
      <string>Biometric</string>
      <string>Appearance</string>
      <string>Privacy</string>
      <string>Payment</string>
      <string>iCloudStorage</string>
      <string>ScreenTime</string>
      <string>Wallpaper</string>
      <string>Welcome</string>
    </array>
  </dict>
</plist>

@aarondavidpolley
Copy link
Author

Yup sorry I worked it out in the end, the name needed to be com.apple.SetupAssistant.managed Then Apple has deprecated the functions so it's strings now

E.G

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>SkipSetupItems</key>
    <array>
      <string>Intelligence</string>
      <string>Siri</string>
      <string>ScreenTime</string>
      <string>AppleID</string>
      <string>Biometric</string>
      <string>Appearance</string>
      <string>Privacy</string>
      <string>Payment</string>
      <string>iCloudStorage</string>
      <string>ScreenTime</string>
      <string>Wallpaper</string>
      <string>Welcome</string>
    </array>
  </dict>
</plist>

Nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment