-
-
Save talkingmoose/3340d122ffd6b4fccb5f1319b7067f73 to your computer and use it in GitHub Desktop.
| https://support.apple.com/en-us/122867 | |
| Published Date: September 15, 2025 | |
| Updated: September 24, 2025 | |
| Verification: https://regex101.com/r/YXAchM/5 | |
| 1) Exact regex — Matches major model identifier numbers based on Apple's knowledge base article (more accurate): | |
| ^Mac((BookPro1(6,[1-4]|[78],\d)|(1[3-6]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$ | |
| 2) Current or higher regex — Matches model identifiers based on Apple's knowledge base article and may match higher versions before this regex is updated (more future-proof). | |
| ^Mac((BookPro1(6,[1-4]|[7-9],\d)|(1[3-9]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$ | |
| Current or higher regexes aren't available for some models where Apple has used the same model identifier schema for multiple models. | |
| Either regex will match any of the supported following model identifiers: | |
| MacBook Pro | |
| https://support.apple.com/en-us/108052 | |
| Exact regex: ^Mac((BookPro1(6,[124]|[7-9],\d))|1(4,([5679]|10)|5,([36-9]|1[01])|6,[15-8]))$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac16,8 | |
| Mac16,7 | |
| Mac16,6 | |
| Mac16,5 | |
| Mac16,1 | |
| Mac15,11 | |
| Mac15,10 | |
| Mac15,9 | |
| Mac15,8 | |
| Mac15,7 | |
| Mac15,6 | |
| Mac15,3 | |
| Mac14,10 | |
| Mac14,9 | |
| Mac14,7 | |
| Mac14,6 | |
| Mac14,5 | |
| MacBookPro18,4 | |
| MacBookPro18,3 | |
| MacBookPro18,2 | |
| MacBookPro18,1 | |
| MacBookPro17,1 | |
| MacBookPro16,4 | |
| MacBookPro16,2 | |
| MacBookPro16,1 | |
| Unsupported: | |
| MacBookPro16,3 | |
| MacBookPro15,4 | |
| MacBookPro15,3 | |
| MacBookPro15,2 | |
| MacBookPro15,1 | |
| MacBookPro14,3 | |
| MacBookPro14,2 | |
| MacBookPro14,1 | |
| MacBookPro13,3 | |
| MacBookPro13,2 | |
| MacBookPro13,1 | |
| MacBookPro12,1 | |
| MacBookPro11,5 | |
| MacBookPro11,4 | |
| MacBookPro11,3 | |
| MacBookPro11,2 | |
| MacBookPro11,1 | |
| MacBookPro10,2 | |
| MacBookPro10,1 | |
| MacBookPro9,2 | |
| MacBookPro9,1 | |
| MacBookPro8,3 | |
| MacBookPro8,2 | |
| MacBookPro8,1 | |
| MacBookPro7,1 | |
| MacBookPro6,2 | |
| MacBookPro6,1 | |
| MacBookPro5,5 | |
| MacBookPro5,4 | |
| MacBookPro5,3 | |
| MacBookPro5,2 | |
| MacBookPro5,1 | |
| MacBookPro4,1 | |
| MacBookPro3,1 | |
| MacBookPro2,2 | |
| MacBookPro2,1 | |
| MacBookPro1,2 | |
| MacBookPro1,1 | |
| --------------------------------------------------- | |
| MacBook Air | |
| https://support.apple.com/en-us/102869 | |
| Exact regex: ^Mac(1([56],1[23]|4,(2|15))|BookAir10,1)$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac16,13 | |
| Mac16,12 | |
| Mac15,13 | |
| Mac15,12 | |
| Mac14,15 | |
| Mac14,2 | |
| MacBookAir10,1 | |
| Unsupported: | |
| MacBookAir9,1 | |
| MacBookAir8,2 | |
| MacBookAir8,1 | |
| MacBookAir7,2 | |
| MacBookAir7,2 | |
| MacBookAir7,1 | |
| MacBookAir6,2 | |
| MacBookAir6,1 | |
| MacBookAir5,2 | |
| MacBookAir5,1 | |
| MacBookAir4,2 | |
| MacBookAir4,1 | |
| MacBookAir3,2 | |
| MacBookAir3,1 | |
| MacBookAir2,1 | |
| MacBookAir1,1 | |
| --------------------------------------------------- | |
| MacBook | |
| https://support.apple.com/en-us/103257 | |
| Supported: | |
| None. | |
| Unsupported: | |
| MacBook10,1 | |
| MacBook9,1 | |
| MacBook8,1 | |
| MacBook7,1 | |
| MacBook6,1 | |
| MacBook5,2 | |
| MacBook5,1 | |
| MacBook4,1 | |
| MacBook3,1 | |
| MacBook2,1 | |
| MacBook1,1 | |
| --------------------------------------------------- | |
| iMac Pro | |
| https://support.apple.com/en-us/HT210222 | |
| Supported | |
| None. | |
| Unsupported:: | |
| iMacPro1,1 | |
| --------------------------------------------------- | |
| iMac | |
| https://support.apple.com/en-us/108054 | |
| Exact regex: ^Mac1((6,[23]|5,[45]))|iMac(2[01]),[12]$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac16,3 | |
| Mac16,2 | |
| Mac15,5 | |
| Mac15,4 | |
| iMac21,2 | |
| iMac21,1 | |
| iMac20,2 | |
| iMac20,1 | |
| Unsupported: | |
| iMac19,2 | |
| iMac19,1 | |
| iMac18,3 | |
| iMac18,2 | |
| iMac18,1 | |
| iMac17,1 | |
| iMac16,2 | |
| iMac16,1 | |
| iMac15,1 | |
| iMac14,4 | |
| iMac14,3 | |
| iMac14,2 | |
| iMac14,1 | |
| iMac13,2 | |
| iMac13,1 | |
| iMac12,2 | |
| iMac12,1 | |
| iMac11,3 | |
| iMac11,2 | |
| iMac11,1 | |
| iMac10,1 | |
| iMac9,1 | |
| iMac8,1 | |
| iMac7,1 | |
| iMac6,1 | |
| iMac5,2 | |
| iMac5,1 | |
| iMac4,2 | |
| iMac4,1 | |
| iMac,1 | |
| --------------------------------------------------- | |
| Mac mini | |
| https://support.apple.com/en-us/102852 | |
| Exact regex: ^Mac(1((6,1[015])|(4,(3|12)))|mini9,1)$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac16,11 | |
| Mac16,10 | |
| Mac14,3 | |
| Mac14,12 | |
| Macmini9,1 | |
| Unsupported: | |
| Macmini8,1 | |
| Macmini7,1 | |
| Macmini6,2 | |
| Macmini6,1 | |
| Macmini5,3 | |
| Macmini5,2 | |
| Macmini5,1 | |
| Macmini4,1 | |
| Macmini3,1 | |
| Macmini2,1 | |
| Macmini1,1 | |
| --------------------------------------------------- | |
| Mac Studio | |
| https://support.apple.com/en-us/102231 | |
| Exact regex: ^Mac1((3,[12])|(4,1(3|4))|5,14|6,9)$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac16,9 | |
| Mac15,14 | |
| Mac14,14 | |
| Mac14,13 | |
| Mac13,2 | |
| Mac13,1 | |
| --------------------------------------------------- | |
| Mac Pro | |
| https://support.apple.com/en-us/102887 | |
| Exact regex: ^Mac(Pro7,\d|14,8)$ | |
| Current or higher regex: Not available | |
| Supported: | |
| Mac14,8 | |
| MacPro7,1 | |
| Unsupported: | |
| MacPro6,1 | |
| MacPro5,1 | |
| MacPro4,1 | |
| MacPro3,1 | |
| MacPro2,1 | |
| MacPro1,1 |
Thanks for the regex once again! There's still the "MacBookPro16,3" entry on the line 49 under "Supported" that might cause some confusion.
Why scope to supported machines when we don't know (officially) what machines are coming and will need to be added, but we do know what machines aren't supported. Yes, its a long list, but its an unchanging list.
@damacguy The list will get easier and easier to define and the regex shorter and shorter as Apple moves all computer model identifiers to the "MacX,X" format.
I'm of the philosophy that it's easier and better to identify something by explicit characteristics that exist rather than identify something by characteristics that don't exist.
By "scope", I'm assuming you mean Jamf Pro. If so, you can flip the matches by using "does not match regex". Also, I choose to scope "Target" to a computers or devices that I want in a certain state and then set "Exclusions" to computers or devices that are already in the state I want.
Many ways to skin a cat. The cat won't be happy either way.
Why scope to supported machines when we don't know (officially) what machines are coming and will need to be added, but we do know what machines aren't supported. Yes, its a long list, but its an unchanging list.
I believe this REGEX should cover all Tahoe non-compatible model identifiers...
^(MacBook([1-9]|1[0-2]),[0-9]+|MacBookAir([1-9]|1[01]),[0-9]+|MacBookPro(1[0-5]|16,[235]),[0-9]+|iMac(1[0-9]|[4-9]),[0-9]+|Macmini[1-8],[0-9]+|MacPro[1-6],[0-9]+)$
@jlehikoinen Sorry for the later update, but I was waiting for Apple to update their supported page in case anything changed before Tahoe released. The regex should be current now.
Excellent! 👍
Thanks for the catch! Updated.