-
-
Notifications
You must be signed in to change notification settings - Fork 138
Description
Describe the bug
I can run erase-install from the local machine with the same command switches, and it behaves different than when I run it through Jamf.
Run command or policy
Script prompts for name and password
I enter name and password
Run locally, it tells me I need to plug in (this was intentional so I could easily cancel).
Run from Jamf, it just hangs.
I was able to track it down to this line that hangs...
account_shortname=$(ljt '/Username' < "$dialog_output")
Then I investigated the ljt function. This is the answer I got back from ChatGPT on the difference. The suggested change does in dead work for me.
Safe Replacement
Replace:
read -r -d '' JSCode <<-'EOT'
...
EOTwith:
JSCode=$(cat <<'EOT'
...
EOT
)This does the same thing.
But it does not rely on read -d ''.
It works in:
zsh
bash
sh
Jamf
non-interactive shells
Much safer.
Why This Fix Works
cat <<EOF reads until EOF normally.
It does not rely on a NUL delimiter.
It does not require special read semantics.
It behaves consistently in non-interactive shells.
Why ljt Uses read -d ''
It’s a common trick used in:
StackOverflow snippets
Bash utilities
macOS admin scripts
But it assumes:
A normal interactive shell
Consistent read implementation
Jamf breaks that assumption.
This command also worked for me.
account_shortname=$(plutil -extract Username raw -o - "$dialog_output")
To Reproduce
You have to run from Jamf, but I am not sure what made my machine special. I have another engineer testing it on his machine, but he was rebuilding it down to 15 yesterday.
Expected behavior
It should just proceed
Code/log output
Command used from Jamf
/Library/Management/erase-install/erase-install.sh --reinstall --version=26.3 --check-power --min-drive-space=50 --current-user --cleanup-after-use
+log_rotate:31> writelog '[log_rotate] Finished rotating logs in /Library/Management/erase-install/log'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:57'
+writelog:2> echo '2026-02-12 14:48:57 | v40.4 | [log_rotate] Finished rotating logs in /Library/Management/erase-install/log'
2026-02-12 14:48:57 | v40.4 | [log_rotate] Finished rotating logs in /Library/Management/erase-install/log
+/Library/Management/erase-install/erase-install.sh:3986> echo
+/Library/Management/erase-install/erase-install.sh:3987> date
+/Library/Management/erase-install/erase-install.sh:3987> writelog '[erase-install] v40.4 script execution started: Thu Feb 12 14:48:57 EST 2026'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:57'
+writelog:2> echo '2026-02-12 14:48:57 | v40.4 | [erase-install] v40.4 script execution started: Thu Feb 12 14:48:57 EST 2026'
2026-02-12 14:48:57 | v40.4 | [erase-install] v40.4 script execution started: Thu Feb 12 14:48:57 EST 2026
+/Library/Management/erase-install/erase-install.sh:3988> echo
+/Library/Management/erase-install/erase-install.sh:3989> [[ -n '' ]]
+/Library/Management/erase-install/erase-install.sh:3993> writelog '[erase-install] Arguments provided: --reinstall --version=26.3 --check-power --min-drive-space=50 --current-user --cleanup-after-use'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:57'
+writelog:2> echo '2026-02-12 14:48:57 | v40.4 | [erase-install] Arguments provided: --reinstall --version=26.3 --check-power --min-drive-space=50 --current-user --cleanup-after-use'
2026-02-12 14:48:57 | v40.4 | [erase-install] Arguments provided: --reinstall --version=26.3 --check-power --min-drive-space=50 --current-user --cleanup-after-use
+/Library/Management/erase-install/erase-install.sh:3997> [[ no == yes || yes == yes ]]
+/Library/Management/erase-install/erase-install.sh:3998> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4010> set_localisations
+set_localisations:2> current_user=+set_localisations:2> current_user=+set_localisations:2> /usr/sbin/scutil
+set_localisations:2> /usr/bin/awk '-F: ' '/[[:space:]]+Name[[:space:]]:/ { if ( $2 != "loginwindow" ) { print $2 }}'
+set_localisations:2> current_user=rimorton
+set_localisations:3> current_uid=+set_localisations:3> /usr/bin/id -u rimorton
+set_localisations:3> current_uid=502
+set_localisations:8> current_user_homedir=+set_localisations:8> /usr/bin/dscl -plist /Search -read /Users/rimorton NFSHomeDirectory
+set_localisations:8> /usr/libexec/PlistBuddy -c 'Print :dsAttrTypeStandard\:NFSHomeDirectory:0' /dev/stdin
+set_localisations:8> current_user_homedir=/Users/rimorton
+set_localisations:10> language=+set_localisations:10> /usr/libexec/PlistBuddy -c 'print AppleLanguages:0' //Users/rimorton/Library/Preferences/.GlobalPreferences.plist
+set_localisations:10> language=en-US
+set_localisations:12> accent_colour=+set_localisations:12> /usr/bin/sudo -u rimorton /usr/bin/defaults read -g AppleAccentColor
+set_localisations:12> accent_colour=''
+set_localisations:13> [ 1 -ne 0 ']'
+set_localisations:15> accent_colour=4
+set_localisations:18> [[ -n '' ]]
+set_localisations:22> writelog '[set_localisations] Set language to en-US'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:57'
+writelog:2> echo '2026-02-12 14:48:57 | v40.4 | [set_localisations] Set language to en-US'
2026-02-12 14:48:57 | v40.4 | [set_localisations] Set language to en-US
+set_localisations:25> [[ en-US = de* ]]
+set_localisations:27> [[ en-US = nl* ]]
+set_localisations:29> [[ en-US = fr* ]]
+set_localisations:31> [[ en-US = es* ]]
+set_localisations:33> [[ en-US = pt* ]]
+set_localisations:35> [[ en-US = ja* ]]
+set_localisations:37> [[ en-US = ua* ]]
+set_localisations:40> user_language=en
+set_localisations:44> dialog_dl_title_en='Downloading macOS'
+set_localisations:45> dialog_dl_title_de='macOS wird heruntergeladen'
+set_localisations:46> dialog_dl_title_nl='macOS downloaden'
+set_localisations:47> dialog_dl_title_fr='Téléchargement de macOS'
+set_localisations:48> dialog_dl_title_es='Descargando macOS'
+set_localisations:49> dialog_dl_title_pt='Baixando o macOS'
+set_localisations:50> dialog_dl_title_ja='macOS のダウンロード'
+set_localisations:51> dialog_dl_title_ua='Завантаження macOS'
+set_localisations:52> dialog_dl_title=dialog_dl_title_en
+set_localisations:55> dialog_dl_desc_en='We need to download the macOS installer to your computer. \n\nThis may take several minutes, depending on your internet connection.'
+set_localisations:56> dialog_dl_desc_de='Das macOS-Installationsprogramm wird heruntergeladen. \n\nDies kann einige Minuten dauern, je nach Ihrer Internetverbindung.'
+set_localisations:57> dialog_dl_desc_nl='We moeten het macOS besturingssysteem downloaden. \n\nDit kan enkele minuten duren, afhankelijk van uw internetverbinding.'
+set_localisations:58> dialog_dl_desc_fr='Nous devons télécharger le programme d'\''installation de macOS sur votre ordinateur. \n\nCela peut prendre plusieurs minutes, en fonction de votre connexion Internet.'
+set_localisations:59> dialog_dl_desc_es='Necesitamos descargar el instalador de macOS en tu Mac. \n\nEsto puede tardar varios minutos, dependiendo de tu conexión a Internet.'
+set_localisations:60> dialog_dl_desc_pt='Precisamos baixar o instalador do macOS para o seu computador. \n\nIsso pode levar vários minutos, dependendo da sua conexão com a Internet.'
+set_localisations:61> dialog_dl_desc_ja='macOS のインストーラをダウンロードしています。 \n\n回線状況によっては数分かかる場合があります。'
+set_localisations:62> dialog_dl_desc_ua='«Нам потрібно завантажити програму встановлення macOS на ваш комп’ютер. \n\nЦе може зайняти декілька хвилин, залежно від вашого інтернет-з’єднання.'
+set_localisations:63> dialog_dl_desc=dialog_dl_desc_en
+set_localisations:66> dialog_erase_title_en='Erasing macOS'
+set_localisations:67> dialog_erase_title_de='macOS wiederherstellen'
+set_localisations:68> dialog_erase_title_nl='macOS herinstalleren'
+set_localisations:69> dialog_erase_title_fr='Effacement de macOS'
+set_localisations:70> dialog_erase_title_es='Borrado de macOS'
+set_localisations:71> dialog_erase_title_pt='Apagado de macOS'
+set_localisations:72> dialog_erase_title_ja='macOS の消去'
+set_localisations:73> dialog_erase_title_ua='Стирання macOS'
+set_localisations:74> dialog_erase_title=dialog_erase_title_en
+set_localisations:77> dialog_erase_desc_en='### Preparing the installer may take up to 30 minutes. \n\nOnce completed your computer will reboot and continue the reinstallation.'
+set_localisations:78> dialog_erase_desc_de='### Das Vorbereiten des Installationsprogramms kann bis zu 30 Minuten dauern. \n\nNach Abschluss des Vorgangs wird Ihr Computer neu gestartet und die Neuinstallation fortgesetzt.'
+set_localisations:79> dialog_erase_desc_nl='### Het voorbereiden van het installatieprogramma kan tot 30 minuten duren. \n\nNa voltooiing zal uw computer opnieuw opstarten en de herinstallatie voortzetten.'
+set_localisations:80> dialog_erase_desc_fr='### La préparation du programme d'\''installation peut prendre jusqu'\''à 30 minutes. \n\nUne fois terminé, votre ordinateur redémarre et poursuit la réinstallation.'
+set_localisations:81> dialog_erase_desc_es='### La preparación del instalador puede tardar hasta 30 minutos. \n\nUna vez completado, tu Mac se reiniciará y continuará la reinstalación.'
+set_localisations:82> dialog_erase_desc_pt='### A preparação do instalador pode levar até 30 minutos. \n\nDepois de concluído, seu computador será reiniciado e a reinstalação continuará.'
+set_localisations:83> dialog_erase_desc_ja='### インストーラの準備には最大で30分かかる場合があります。 \n\n完了するとコンピュータが再起動し、再インストールが開始されます。'
+set_localisations:84> dialog_erase_desc_ua='### Підготовка інсталятора може тривати до 30 хвилин. \n\nПісля завершення ваш комп'\''ютер перезавантажиться та продовжить перевстановлення.'
+set_localisations:85> dialog_erase_desc=dialog_erase_desc_en
+set_localisations:88> dialog_reinstall_title_en='Upgrading macOS'
+set_localisations:89> dialog_reinstall_title_de='macOS aktualisieren'
+set_localisations:90> dialog_reinstall_title_nl='macOS upgraden'
+set_localisations:91> dialog_reinstall_title_fr='Mise à niveau de macOS'
+set_localisations:92> dialog_reinstall_title_es='Actualizando de macOS'
+set_localisations:93> dialog_reinstall_title_pt='Atualizando o macOS'
+set_localisations:94> dialog_reinstall_title_ja='macOS のアップグレード'
+set_localisations:95> dialog_reinstall_title_ua='Оновлення macOS'
+set_localisations:96> dialog_reinstall_title=dialog_reinstall_title_en
+set_localisations:99> dialog_reinstall_heading_en='Please wait as we prepare your computer for upgrading macOS.'
+set_localisations:100> dialog_reinstall_heading_de='Bitte warten Sie, während Ihren Computer für das Upgrade von macOS vorbereitet wird.'
+set_localisations:101> dialog_reinstall_heading_nl='Even geduld terwijl we uw computer voorbereiden voor de upgrade van macOS.'
+set_localisations:102> dialog_reinstall_heading_fr='Veuillez patienter pendant que nous préparons votre ordinateur pour la mise à niveau de macOS.'
+set_localisations:103> dialog_reinstall_heading_es='Por favor, espera mientras preparamos tu mac para la actualización de macOS.'
+set_localisations:104> dialog_reinstall_heading_pt='Aguarde enquanto preparamos seu computador para atualizar o macOS.'
+set_localisations:105> dialog_reinstall_heading_ja='macOS アップグレードの準備をしています。しばらくお待ちください。'
+set_localisations:106> dialog_reinstall_heading_ua='Зачекайте, поки ми підготуємо ваш комп’ютер до оновлення macOS.'
+set_localisations:107> dialog_reinstall_heading=dialog_reinstall_heading_en
+set_localisations:110> dialog_reinstall_desc_en='### Preparing the installer may take up to 30 minutes. \n\nOnce completed your computer will reboot and begin the upgrade.'
+set_localisations:111> dialog_reinstall_desc_de='### Dieser Prozess kann bis zu 30 Minuten benötigen. \n\nDer Computer startet anschliessend neu und beginnt mit der Aktualisierung.'
+set_localisations:112> dialog_reinstall_desc_nl='### Dit proces duurt ongeveer 30 minuten. \n\nZodra dit is voltooid, wordt uw computer opnieuw opgestart en begint de upgrade.'
+set_localisations:113> dialog_reinstall_desc_fr='### Ce processus peut prendre jusqu'\''à 30 minutes. \n\nUne fois terminé, votre ordinateur redémarrera et commencera la mise à niveau.'
+set_localisations:114> dialog_reinstall_desc_es='### La preparación del instalador puede tardar hasta 30 minutos. \n\nUna vez completado, tu Mac se reiniciará y comenzará la actualización.'
+set_localisations:115> dialog_reinstall_desc_pt='### A preparação do instalador pode levar até 30 minutos. \n\nDepois de concluído, seu computador será reiniciado e a atualização começará.'
+set_localisations:116> dialog_reinstall_desc_ja='### インストーラの準備には最大で30分かかる場合があります。 \n\n完了するとコンピュータが再起動し、アップグレードが開始されます。'
+set_localisations:117> dialog_reinstall_desc_ua='### Підготовка інсталятора може тривати до 30 хвилин. \n\nПісля завершення комп'\''ютер перезавантажиться та почнеться оновлення.'
+set_localisations:118> dialog_reinstall_desc=dialog_reinstall_desc_en
+set_localisations:121> dialog_reinstall_status_en='Preparing macOS for installation'
+set_localisations:122> dialog_reinstall_status_de='Vorbereiten von macOS für die Installation'
+set_localisations:123> dialog_reinstall_status_nl='MacOS voorbereiden voor installatie'
+set_localisations:124> dialog_reinstall_status_fr='Préparation de macOS pour l'\''installation'
+set_localisations:125> dialog_reinstall_status_es='Preparación de macOS para la instalación'
+set_localisations:126> dialog_reinstall_status_pt='Preparando o macOS para instalação'
+set_localisations:127> dialog_reinstall_status_ja='macOS インストールの準備'
+set_localisations:128> dialog_reinstall_status_ua='Підготовка macOS до встановлення'
+set_localisations:129> dialog_reinstall_status=dialog_reinstall_status_en
+set_localisations:132> dialog_rebooting_heading_en='The upgrade is now ready for installation. \n\n### Save any open work now!'
+set_localisations:133> dialog_rebooting_heading_de='Die macOS-Aktualisierung steht nun zur Installation bereit. \n\n### Speichern Sie jetzt alle offenen Arbeiten ab!'
+set_localisations:134> dialog_rebooting_heading_nl='De upgrade is nu klaar voor installatie. \n\n### Bewaar nu al het open werk!'
+set_localisations:135> dialog_rebooting_heading_fr='La mise à niveau est maintenant prête à être installée. \n\n### Sauvegardez les travaux en cours maintenant!'
+set_localisations:136> dialog_rebooting_heading_es='La actualización ya está lista para ser instalada. \n\n### ¡Guarda ahora los trabajos pendientes!'
+set_localisations:137> dialog_rebooting_heading_pt='A atualização agora está pronta para instalação. \n\n### Salve qualquer trabalho aberto agora!'
+set_localisations:138> dialog_rebooting_heading_ja='アップグレードのインストール準備ができました。 \n\n### 開いているファイルがあれば保存してください!'
+set_localisations:139> dialog_rebooting_heading_ua='Тепер оновлення готове до встановлення. \n\n### Збережіть будь-яку відкриту роботу зараз!'
+set_localisations:140> dialog_rebooting_heading=dialog_rebooting_heading_en
+set_localisations:143> dialog_erase_confirmation_desc_en='Please confirm that you want to ERASE ALL DATA FROM THIS DEVICE and reinstall macOS'
+set_localisations:144> dialog_erase_confirmation_desc_de='Bitte bestätigen Sie, dass Sie ALLE DATEN VON DIESEM GERÄT LÖSCHEN und macOS neu installieren wollen!'
+set_localisations:145> dialog_erase_confirmation_desc_nl='Weet je zeker dat je ALLE GEGEVENS VAN DIT APPARAAT WILT WISSEN en macOS opnieuw installeert?'
+set_localisations:146> dialog_erase_confirmation_desc_fr='Veuillez confirmer que vous souhaitez EFFACER TOUTES LES DONNÉES DE CET APPAREIL et réinstaller macOS'
+set_localisations:147> dialog_erase_confirmation_desc_es='Por favor, confirma que deseas BORRAR TODOS LOS DATOS DE ESTE DISPOSITIVO y reinstalar macOS'
+set_localisations:148> dialog_erase_confirmation_desc_pt='Confirme que deseja APAGAR TODOS OS DADOS DESTE DISPOSITIVO e reinstalar o macOS'
+set_localisations:149> dialog_erase_confirmation_desc_ja='***このデバイスから全てのデータが消去***され、macOS が再インストールされます。ご確認ください。'
+set_localisations:150> dialog_erase_confirmation_desc_ua='Будь ласка, підтвердіть, що ви хочете ВИДАЛИТИ ВСІ ДАНІ З ЦЬОГО ПРИСТРОЮ та переінсталювати macOS'
+set_localisations:151> dialog_erase_confirmation_desc=dialog_erase_confirmation_desc_en
+set_localisations:154> dialog_reinstall_confirmation_desc_en='Please confirm that you want to upgrade macOS on this system now'
+set_localisations:155> dialog_reinstall_confirmation_desc_de='Bitte bestätigen Sie, dass Sie macOS auf diesem System jetzt aktualisieren möchten.'
+set_localisations:156> dialog_reinstall_confirmation_desc_nl='Bevestig dat u macOS op dit systeem nu wilt updaten'
+set_localisations:157> dialog_reinstall_confirmation_desc_fr='Veuillez confirmer que vous voulez mettre à jour macOS sur ce système maintenant.'
+set_localisations:158> dialog_reinstall_confirmation_desc_es='Por favor, confirma que deseas actualizar macOS en este sistema ahora'
+set_localisations:159> dialog_reinstall_confirmation_desc_pt='Confirme que deseja atualizar o macOS neste sistema agora'
+set_localisations:160> dialog_reinstall_confirmation_desc_ja='このシステムで macOS をアップグレードすることをご確認ください。'
+set_localisations:161> dialog_reinstall_confirmation_desc_ua='Будь ласка, підтвердіть, що ви хочете оновити macOS на цій системі зараз'
+set_localisations:162> dialog_reinstall_confirmation_desc=dialog_reinstall_confirmation_desc_en
+set_localisations:165> dialog_check_desc_en='The macOS upgrade cannot be installed as there is not enough space left on the drive.'
+set_localisations:166> dialog_check_desc_de='macOS kann nicht aktualisiert werden, da nicht genügend Speicherplatz auf dem Laufwerk frei ist.'
+set_localisations:167> dialog_check_desc_nl='De upgrade van macOS kan niet worden geïnstalleerd omdat er niet genoeg ruimte is op de schijf.'
+set_localisations:168> dialog_check_desc_fr='La mise à niveau de macOS ne peut pas être installée car il n'\''y a pas assez d'\''espace disponible sur ce volume.'
+set_localisations:169> dialog_check_desc_es='La actualización de macOS no se puede instalar porque no queda espacio suficiente en la unidad.'
+set_localisations:170> dialog_check_desc_pt='A atualização do macOS não pode ser instalada porque não há espaço suficiente na unidade.'
+set_localisations:171> dialog_check_desc_ja='ドライブに十分な空き領域がないため、macOS アップグレードをインストールできません。'
+set_localisations:172> dialog_check_desc_ua='Оновлення macOS не вдається встановити, оскільки на диску залишилось недостатньо місця.'
+set_localisations:173> dialog_check_desc=dialog_check_desc_en
+set_localisations:176> dialog_power_title_en='Waiting for AC Power Connection'
+set_localisations:177> dialog_power_title_de='Auf Netzteil warten'
+set_localisations:178> dialog_power_title_nl='Wachten op stroomadapter'
+set_localisations:179> dialog_power_title_fr='En attente de l'\''alimentation secteur'
+set_localisations:180> dialog_power_title_es='A la espera de la conexión a la red eléctrica'
+set_localisations:181> dialog_power_title_pt='Aguardando conexão de alimentação CA'
+set_localisations:182> dialog_power_title_ja=電源アダプタの接続を待っています
+set_localisations:183> dialog_power_title_ua='Очікування підключення зарядного пристрою'
+set_localisations:184> dialog_power_title=dialog_power_title_en
+set_localisations:187> dialog_power_desc_en='Please connect your computer to power using an AC power adapter. \n\nThis process will continue if AC power is detected within the specified time.'
+set_localisations:188> dialog_power_desc_de='Bitte verbinden Sie Ihren Computer mit einem Netzteil. \n\nDieser Prozess wird fortgesetzt, wenn eine Stromversorgung innerhalb der folgenden Zeit erkannt wird:'
+set_localisations:189> dialog_power_desc_nl='Sluit uw computer aan met de stroomadapter. \n\nZodra deze is gedetecteerd gaat het proces verder binnen de volgende:'
+set_localisations:190> dialog_power_desc_fr='Veuillez connecter votre ordinateur à un adaptateur secteur. \n\nCe processus se poursuivra une fois que l'\''alimentation secteur sera détectée dans la suivante:'
+set_localisations:191> dialog_power_desc_es='Conecta tu Mac a la corriente eléctrica mediante un adaptador de CA. \n\nEste proceso continuará si se detecta alimentación de CA dentro del tiempo especificado.'
+set_localisations:192> dialog_power_desc_pt='Conecte seu computador à energia usando um adaptador de energia CA. \in\Este processo continuará se a alimentação CA for detectada dentro do tempo especificado.'
+set_localisations:193> dialog_power_desc_ja='コンピュータに電源アダプタを接続してください。 \n\n指定された時間内に電源アダプタが接続された場合、この処理は続行されます。'
+set_localisations:194> dialog_power_desc_ua='Будь ласка, підключіть комп'\''ютер до мережі за допомогою зарядного пристрою. \n\nЦей процес буде продовжено, якщо протягом зазначеного часу буде підключено зарядний пристрій.'
+set_localisations:195> dialog_power_desc=dialog_power_desc_en
+set_localisations:198> dialog_nopower_desc_en='### AC power was not connected in the specified time. \n\nPress OK to quit.'
+set_localisations:199> dialog_nopower_desc_de='### Die Netzspannung wurde nicht in der angegebenen Zeit angeschlossen. \n\nZum Beenden OK drücken.'
+set_localisations:200> dialog_nopower_desc_nl='### De netspanning was niet binnen de opgegeven tijd aangesloten. \n\nDruk op OK om af te sluiten.'
+set_localisations:201> dialog_nopower_desc_fr='### Le courant alternatif n'\''a pas été branché dans le délai spécifié. \n\nAppuyez sur OK pour quitter.'
+set_localisations:202> dialog_nopower_desc_es='### La alimentación de CA no se ha conectado en el tiempo especificado. \n\nPulsa OK para salir.'
+set_localisations:203> dialog_nopower_desc_pt='### A alimentação CA não foi conectada no tempo especificado. \n\nPressione OK para sair.'
+set_localisations:204> dialog_nopower_desc_ja='### 指定された時間内に電源アダプタが接続されませんでした。 \n\nOK を押して終了してください。'
+set_localisations:205> dialog_nopower_desc_ua='### Зарядний пристрій не було підключено вчасно \n\nНатисніть OK, щоб вийти.'
+set_localisations:206> dialog_nopower_desc=dialog_nopower_desc_en
+set_localisations:209> dialog_fmm_title_en='Waiting for Find My Mac to be disabled'
+set_localisations:210> dialog_fmm_title_de='Warte auf die Deaktivierung von «Meinen Mac suchen»'
+set_localisations:211> dialog_fmm_title_nl='Wachten op Vind mijn Mac'
+set_localisations:212> dialog_fmm_title_fr='En attente de Localiser mon Mac'
+set_localisations:213> dialog_fmm_title_es='A la espera de la desactivacion de Buscar mi Mac'
+set_localisations:214> dialog_fmm_title_pt='Aguardando que o Buscar no Mac seja desativado'
+set_localisations:215> dialog_fmm_title_ja=「Macを探す」が無効になるのを待っています
+set_localisations:216> dialog_fmm_title_ua='Очікування вимкнення функції Find My Mac'
+set_localisations:217> dialog_fmm_title=dialog_fmm_title_en
+set_localisations:220> dialog_fmm_desc_en='Please disable **Find My Mac** in your iCloud settings. \n\nThis setting can be found in **System Preferences** > **Apple ID** > **iCloud**. \n\nThis process will continue if Find My has been disabled within the specified time.'
+set_localisations:221> dialog_fmm_desc_de='Bitte deaktiviere **«Meinen Mac suchen»** in Ihren iCloud-Einstellungen. \n\nDiese Einstellung finden Sie in **Systemeinstellungen** > **Apple ID** > **iCloud**. \n\nDieser Vorgang wird fortgesetzt, wenn «Meinen Mac suchen» innerhalb der angegebenen Zeit deaktiviert wurde.'
+set_localisations:222> dialog_fmm_desc_nl='Schakel **Vind mijn Mac** uit in uw iCloud-instellingen. \n\nDeze instelling vindt u in **Systeemvoorkeuren** > **Apple ID** > **iCloud**. \n\nDit proces wordt voortgezet als **Vind mijn Mac** binnen de opgegeven tijd is uitgeschakeld.'
+set_localisations:223> dialog_fmm_desc_fr='Veuillez désactiver **Localiser mon Mac** dans vos paramètres iCloud. \n\nCe paramètre se trouve dans **Préférences système** > **Identifiant Apple** > **iCloud**. \n\nCe processus se poursuivra si Localiser mon Mac a été désactivé dans le délai spécifié.'
+set_localisations:224> dialog_fmm_desc_es='Por favor desactiva **Buscar mi Mac** en los ajustes de iCloud. \n\nEste ajuste se encuentra en **Preferencias del sistema** > **ID de Apple** > **iCloud**. \n\nEste proceso continuará si Buscar mi Mac se ha desactivado dentro del tiempo especificado.'
+set_localisations:225> dialog_fmm_desc_pt='Desative **Buscar no Mac** nas configurações do iCloud. \n\nEssa configuração pode ser encontrada em **Preferências do Sistema** > **ID Apple** > **iCloud**. \n\nEsse processo continuará se o Buscar no Mac tiver sido desativado dentro do tempo especificado.'
+set_localisations:226> dialog_fmm_desc_ja='iCloud の設定で「**Macを探す**」を無効にしてください。 \nこの設定は **システム環境設定** > **Apple ID** > **iCloud** にあります。 \n\n指定された時間内に「Macを探す」が無効になった場合、この処理は続行されます。'
+set_localisations:227> dialog_fmm_desc_ua='Будь ласка, вимкніть **Find My Mac** у налаштуваннях iCloud. \n\nЦей параметр можна знайти в **Системні налаштування** > **Apple ID** > **iCloud**. \n\nЦей процес продовжиться, якщо функцію «Find My Mac» буде вимкнено протягом зазначеного часу.'
+set_localisations:228> dialog_fmm_desc=dialog_fmm_desc_en
+set_localisations:231> dialog_fmmenabled_desc_en='### Find My Mac was not disabled in the specified time. \n\nPress OK to quit.'
+set_localisations:232> dialog_fmmenabled_desc_de='### «Meinem Mac suchen» wurde nicht innerhalb der angegebenen Zeit deaktiviert. \n\nZum Beenden OK drücken.'
+set_localisations:233> dialog_fmmenabled_desc_nl='### Vind mijn Mac was niet uitgeschakeld in de opgegeven tijd. \n\nDruk op OK om af te sluiten.'
+set_localisations:234> dialog_fmmenabled_desc_fr='### Localiser mon Mac n'\''a pas été désactivé dans le temps imparti. \n\nAppuyez sur OK pour quitter.'
+set_localisations:235> dialog_fmmenabled_desc_es='### Buscar mi Mac no se ha desactivado en el tiempo especificado. \n\nPulsa OK para salir.'
+set_localisations:236> dialog_fmmenabled_desc_pt='### Buscar no Mac não foi desativado no tempo especificado. \n\nPressione OK para sair.'
+set_localisations:237> dialog_fmmenabled_desc_ja='### 「Macを探す」は指定された時間内に無効になりませんでした。 \n\nOK を押して終了してください。'
+set_localisations:238> dialog_fmmenabled_desc_ua='### Find My Mac не було вимкнено вчасно. \n\nНатисніть OK, щоб вийти.'
+set_localisations:239> dialog_fmmenabled_desc=dialog_fmmenabled_desc_en
+set_localisations:242> dialog_erase_credentials_en='Erasing macOS requires authentication using local account credentials. \n\nPlease enter your account name and password to start the erase process.'
+set_localisations:243> dialog_erase_credentials_de='Das Löschen von macOS erfordert eine Authentifizierung mit den Anmeldedaten des lokalen Kontos. \n\nBitte geben Sie Ihren Kontonamen und Ihr Passwort ein, um den Löschvorgang zu starten.'
+set_localisations:244> dialog_erase_credentials_nl='Voor het wissen van macOS is verificatie met behulp van lokale accountgegevens vereist. \n\nVoer uw accountnaam en wachtwoord in om het wisproces te starten.'
+set_localisations:245> dialog_erase_credentials_fr='L'\''effacement de macOS nécessite une authentification à l'\''aide des informations d'\''identification du compte local. \n\nVeuillez saisir votre nom de compte et votre mot de passe pour lancer le processus d'\''effacement.'
+set_localisations:246> dialog_erase_credentials_es='El borrado de macOS requiere la autenticación mediante las credenciales de la cuenta de usuario local. \n\nIntroduce tu nombre de usuario y contraseña para iniciar el proceso de borrado.'
+set_localisations:247> dialog_erase_credentials_pt='Apagar o macOS requer autenticação usando credenciais de conta local. \n\nDigite seu nome de conta e senha para iniciar o processo de exclusão.'
+set_localisations:248> dialog_erase_credentials_ja='macOS を消去するには、ローカルアカウントの資格情報による認証が必要です。 \n\nアカウント名とパスワードを入力して消去を開始してください。'
+set_localisations:249> dialog_erase_credentials_ua='Видалення macOS вимагає автентифікації за допомогою локальних облікових даних. \n\nБудь ласка, введіть ім'\''я та пароль вашого облікового запису, щоб розпочати процес стирання.'
+set_localisations:250> dialog_erase_credentials=dialog_erase_credentials_en
+set_localisations:253> dialog_reinstall_credentials_en='Upgrading macOS requires authentication using local account credentials. \n\nPlease enter your account name and password to start the upgrade process.'
+set_localisations:254> dialog_reinstall_credentials_de='Das Upgrade von macOS erfordert eine Authentifizierung mit den Anmeldedaten des lokalen Kontos. \n\nBitte geben Sie Ihren Kontonamen und Ihr Passwort ein, um den Upgrade-Prozess zu starten.'
+set_localisations:255> dialog_reinstall_credentials_nl='Voor het upgraden van macOS is verificatie met behulp van lokale accountgegevens vereist. \n\nVoer uw accountnaam en wachtwoord in om het upgradeproces te starten.'
+set_localisations:256> dialog_reinstall_credentials_fr='La mise à niveau de macOS nécessite une authentification à l'\''aide des informations d'\''identification du compte local. \n\nVeuillez saisir votre nom de compte et votre mot de passe pour lancer le processus de mise à niveau.'
+set_localisations:257> dialog_reinstall_credentials_es='La actualización de macOS requiere la autenticación mediante las credenciales de la cuenta de usuario local. \n\nIntroduce el nombre de tu usuario y la contraseña para iniciar el proceso de actualización.'
+set_localisations:258> dialog_reinstall_credentials_pt='A atualização do macOS requer autenticação usando credenciais de conta local. \n\nDigite seu nome de conta e senha para iniciar o processo de atualização.'
+set_localisations:259> dialog_reinstall_credentials_ja='macOS をアップグレードするには、ローカルアカウントの資格情報による認証が必要です。 \n\nアカウント名とパスワードを入力してアップグレードを開始してください。'
+set_localisations:260> dialog_reinstall_credentials_ua='Оновлення macOS вимагає автентифікації за допомогою локальних облікових даних. \n\nБудь ласка, введіть ім'\''я та пароль вашого облікового запису, щоб розпочати процес оновлення.'
+set_localisations:261> dialog_reinstall_credentials=dialog_reinstall_credentials_en
+set_localisations:264> dialog_not_volume_owner_en='### Account is not a Volume Owner \n\nPlease login using one of the following accounts and try again.'
+set_localisations:265> dialog_not_volume_owner_de='### Konto ist kein Volume-Besitzer \n\nBitte melden Sie sich mit einem der folgenden Konten an und versuchen Sie es erneut.'
+set_localisations:266> dialog_not_volume_owner_nl='### Account is geen volume-eigenaar \n\nLog in met een van de volgende accounts en probeer het opnieuw.'
+set_localisations:267> dialog_not_volume_owner_fr='### Le compte n'\''est pas propriétaire du volume \n\nVeuillez vous connecter en utilisant l'\''un des comptes suivants et réessayer.'
+set_localisations:268> dialog_not_volume_owner_es='### La cuenta de usuario no es un Volume Owner \n\nPor favor, inicie sesión con una de las siguientes cuentas de usuario e inténtelo de nuevo.'
+set_localisations:269> dialog_not_volume_owner_pt='### A conta não é um Volume Owner \n\nFaça login usando uma das contas a seguir e tente novamente.'
+set_localisations:270> dialog_not_volume_owner_ja='### アカウントがボリュームのオーナーではありません \n\n次のいずれかのアカウントで再度ログインをお試しください。'
+set_localisations:271> dialog_not_volume_owner_ua='### Обліковий запис не є Власником тому \n\nБудь ласка, увійдіть за допомогою одного з наступних облікових записів і спробуйте ще раз.'
+set_localisations:272> dialog_not_volume_owner=dialog_not_volume_owner_en
+set_localisations:275> dialog_invalid_user_en='### Incorrect user \n\nThis account cannot be used to to perform the reinstall'
+set_localisations:276> dialog_invalid_user_de='### Falsche Benutzer \n\nDieses Konto kann nicht zur Durchführung der Neuinstallation verwendet werden'
+set_localisations:277> dialog_invalid_user_nl='### Incorrecte account \n\nDit account kan niet worden gebruikt om de herinstallatie uit te voeren'
+set_localisations:278> dialog_invalid_user_fr='### Mauvais utilisateur \n\nCe compte ne peut pas être utilisé pour effectuer la réinstallation'
+set_localisations:279> dialog_invalid_user_es='### Usuario incorrecto \n\nEsta cuenta de usuario no puede ser utilizada para realizar la reinstalación'
+set_localisations:280> dialog_invalid_user_pt='### Usuário incorreto \n\nEsta conta não pode ser usada para realizar a reinstalação'
+set_localisations:281> dialog_invalid_user_ja='### ユーザーが間違っています \n\nこのアカウントでは再インストールを実行できません'
+set_localisations:282> dialog_invalid_user_ua='### Неправильний користувач \n\nЦей обліковий запис не може бути використаний для перевстановлення'
+set_localisations:283> dialog_invalid_user=dialog_invalid_user_en
+set_localisations:286> dialog_invalid_password_en='### Incorrect password \n\nThe password entered is NOT the login password for'
+set_localisations:287> dialog_invalid_password_de='### Falsches Passwort \n\nDas eingegebene Passwort ist NICHT das Anmeldepasswort für'
+set_localisations:288> dialog_invalid_password_nl='### Incorrect wachtwoord \n\nHet ingevoerde wachtwoord is NIET het inlogwachtwoord voor'
+set_localisations:289> dialog_invalid_password_fr='### Mot de passe erroné \n\nLe mot de passe entré n'\''est PAS le mot de passe de connexion pour'
+set_localisations:290> dialog_invalid_password_es='### Contraseña incorrecta \n\nLa contraseña introducida NO es la contraseña de acceso a'
+set_localisations:291> dialog_invalid_password_pt='### Senha incorreta \n\nA senha digitada NÃO é a senha de login para'
+set_localisations:292> dialog_invalid_password_ja='### パスワードが間違っています \n\n入力されたパスワードは、このアカウントのログインパスワードではありません'
+set_localisations:293> dialog_invalid_password_ua='### Неправильний пароль \n\nВведений пароль НЕ є паролем для входу до'
+set_localisations:294> dialog_invalid_password=dialog_invalid_password_en
+set_localisations:297> dialog_confirmation_button_en=Confirm
+set_localisations:298> dialog_confirmation_button_de=Bestätigen
+set_localisations:299> dialog_confirmation_button_nl=Bevestig
+set_localisations:300> dialog_confirmation_button_fr=Confirmer
+set_localisations:301> dialog_confirmation_button_es=Confirmar
+set_localisations:302> dialog_confirmation_button_pt=Confirmar
+set_localisations:303> dialog_confirmation_button_ja=確認
+set_localisations:304> dialog_confirmation_button_ua=Підтвердити
+set_localisations:305> dialog_confirmation_button=dialog_confirmation_button_en
+set_localisations:308> dialog_cancel_button_en=Cancel
+set_localisations:309> dialog_cancel_button_de=Abbrechen
+set_localisations:310> dialog_cancel_button_nl=Annuleren
+set_localisations:311> dialog_cancel_button_fr=Annuler
+set_localisations:312> dialog_cancel_button_es=Cancelar
+set_localisations:313> dialog_cancel_button_pt=Cancelar
+set_localisations:314> dialog_cancel_button_ja=キャンセル
+set_localisations:315> dialog_cancel_button_ua=Скасувати
+set_localisations:316> dialog_cancel_button=dialog_cancel_button_en
+set_localisations:319> dialog_enter_button_en=Enter
+set_localisations:320> dialog_enter_button_de=Eingeben
+set_localisations:321> dialog_enter_button_nl=Enter
+set_localisations:322> dialog_enter_button_fr=Entrer
+set_localisations:323> dialog_enter_button_es=Entrar
+set_localisations:324> dialog_enter_button_pt=Digitar
+set_localisations:325> dialog_enter_button_ja=実行
+set_localisations:326> dialog_enter_button_ua=Гаразд
+set_localisations:327> dialog_enter_button=dialog_enter_button_en
+/Library/Management/erase-install/erase-install.sh:4013> system_version=+/Library/Management/erase-install/erase-install.sh:4013> /usr/bin/sw_vers -productVersion
+/Library/Management/erase-install/erase-install.sh:4013> system_version=15.7.4
+/Library/Management/erase-install/erase-install.sh:4014> system_build=+/Library/Management/erase-install/erase-install.sh:4014> /usr/bin/sw_vers -buildVersion
+/Library/Management/erase-install/erase-install.sh:4014> system_build=24G517
+/Library/Management/erase-install/erase-install.sh:4016> writelog '[erase-install] System version: 15.7.4 (Build: 24G517)'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:57'
+writelog:2> echo '2026-02-12 14:48:57 | v40.4 | [erase-install] System version: 15.7.4 (Build: 24G517)'
2026-02-12 14:48:57 | v40.4 | [erase-install] System version: 15.7.4 (Build: 24G517)
+/Library/Management/erase-install/erase-install.sh:4019> [[ '' != yes ]]
+/Library/Management/erase-install/erase-install.sh:4020> is-at-least 13 15.7.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( 13 )
+is-at-least:28> version=( 15 7 4 0 )
+is-at-least:30> (( 0 <= 1 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 4 ))
+is-at-least:33> [[ 15 = *[0-9][^0-9]* ]]
+is-at-least:45> part=15
+is-at-least:31> [[ 15 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 1 ))
+is-at-least:50> [[ 13 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+/Library/Management/erase-install/erase-install.sh:4021> latest_erase_install_vers=+/Library/Management/erase-install/erase-install.sh:4021> /usr/bin/curl https://api.github.com/repos/grahampugh/erase-install/releases/latest
+/Library/Management/erase-install/erase-install.sh:4021> latest_erase_install_vers=+/Library/Management/erase-install/erase-install.sh:4021> plutil -extract name raw -- -
+/Library/Management/erase-install/erase-install.sh:4021> latest_erase_install_vers=v40.4
+/Library/Management/erase-install/erase-install.sh:4022> is-at-least v40.4 40.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( v40 4 )
+is-at-least:28> version=( 40 4 0 )
+is-at-least:30> (( 0 <= 2 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 3 ))
+is-at-least:33> [[ 40 = *[0-9][^0-9]* ]]
+is-at-least:45> part=40
+is-at-least:31> [[ 40 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 2 ))
+is-at-least:50> [[ v40 = <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 2 ))
+is-at-least:50> [[ 4 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+/Library/Management/erase-install/erase-install.sh:4029> is-at-least 10.15 15.7.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( 10 15 )
+is-at-least:28> version=( 15 7 4 0 )
+is-at-least:30> (( 0 <= 2 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 4 ))
+is-at-least:33> [[ 15 = *[0-9][^0-9]* ]]
+is-at-least:45> part=15
+is-at-least:31> [[ 15 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 2 ))
+is-at-least:50> [[ 10 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+/Library/Management/erase-install/erase-install.sh:4035> [[ ! -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4037> is-at-least 11 15.7.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( 11 )
+is-at-least:28> version=( 15 7 4 0 )
+is-at-least:30> (( 0 <= 1 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 4 ))
+is-at-least:33> [[ 15 = *[0-9][^0-9]* ]]
+is-at-least:45> part=15
+is-at-least:31> [[ 15 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 1 ))
+is-at-least:50> [[ 11 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+/Library/Management/erase-install/erase-install.sh:4043> check_for_swiftdialog_app
+check_for_swiftdialog_app:2> [[ -d /Library/Management/erase-install/Dialog.app ]]
+check_for_swiftdialog_app:3> dialog_bin=/Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog
+check_for_swiftdialog_app:4> dialog_string=+check_for_swiftdialog_app:4> /Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog --version
+check_for_swiftdialog_app:4> dialog_string=2.5.6.4805
+check_for_swiftdialog_app:5> dialog_minor_vers=+check_for_swiftdialog_app:5> cut -d. -f1,2
+check_for_swiftdialog_app:5> dialog_minor_vers=2.5
+check_for_swiftdialog_app:6> [[+check_for_swiftdialog_app:6> echo '2.5 > 2.2'
+check_for_swiftdialog_app:6> [[+check_for_swiftdialog_app:6> bc
+check_for_swiftdialog_app:6> [[ 1 -eq 1 ]]
+check_for_swiftdialog_app:6> is-at-least 12 15.7.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( 12 )
+is-at-least:28> version=( 15 7 4 0 )
+is-at-least:30> (( 0 <= 1 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 4 ))
+is-at-least:33> [[ 15 = *[0-9][^0-9]* ]]
+is-at-least:45> part=15
+is-at-least:31> [[ 15 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 1 ))
+is-at-least:50> [[ 12 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+check_for_swiftdialog_app:15> [[ ! -d /Library/Management/erase-install/Dialog.app ]]
+check_for_swiftdialog_app:26> [[ -f /Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog && v2.5.6.4805 == v2.5.6* ]]
+check_for_swiftdialog_app:27> writelog '[check_for_swiftdialog_app] swiftDialog binary v2.5.6.4805 is installed (/Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog)'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [check_for_swiftdialog_app] swiftDialog binary v2.5.6.4805 is installed (/Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog)'
2026-02-12 14:48:58 | v40.4 | [check_for_swiftdialog_app] swiftDialog binary v2.5.6.4805 is installed (/Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog)
+check_for_swiftdialog_app:96> writelog '[check_for_swiftdialog_app] Creating dialog log (/var/tmp/dialog.RUu)...'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [check_for_swiftdialog_app] Creating dialog log (/var/tmp/dialog.RUu)...'
2026-02-12 14:48:58 | v40.4 | [check_for_swiftdialog_app] Creating dialog log (/var/tmp/dialog.RUu)...
+check_for_swiftdialog_app:97> /usr/bin/touch /var/tmp/dialog.RUu
+check_for_swiftdialog_app:98> /usr/sbin/chown rimorton:wheel /var/tmp/dialog.RUu
+check_for_swiftdialog_app:99> /bin/chmod 666 /var/tmp/dialog.RUu
+/Library/Management/erase-install/erase-install.sh:4046> [[ yes == yes ]]
+/Library/Management/erase-install/erase-install.sh:4047> tmpcurlfile=+/Library/Management/erase-install/erase-install.sh:4047> mktemp -t InstallAssistantDownload.XXXXXX
+/Library/Management/erase-install/erase-install.sh:4047> tmpcurlfile=/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/InstallAssistantDownload.XXXXXX.yBruB3yyhf
+/Library/Management/erase-install/erase-install.sh:4049> command -v jq
+/Library/Management/erase-install/erase-install.sh:4050> writelog '[erase-install] jq is installed, proceeding with --native mode.'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [erase-install] jq is installed, proceeding with --native mode.'
2026-02-12 14:48:58 | v40.4 | [erase-install] jq is installed, proceeding with --native mode.
+/Library/Management/erase-install/erase-install.sh:4051> jq_bin=+/Library/Management/erase-install/erase-install.sh:4051> command -v jq
+/Library/Management/erase-install/erase-install.sh:4051> jq_bin=/usr/bin/jq
+/Library/Management/erase-install/erase-install.sh:4060> [[ -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4070> [[ -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4081> [[ no == yes ]]
+/Library/Management/erase-install/erase-install.sh:4084> [[ -n '' || -n '' || -n 26.3 && -n '' || -n '' || -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4087> [[ '' == yes || '' == yes || '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4093> is-at-least 13 15.7.4
+is-at-least:23> emulate -L zsh
+is-at-least:25> local IFS=.- min_cnt=0 ver_cnt=0 part min_ver version order
+is-at-least:27> min_ver=( 13 )
+is-at-least:28> version=( 15 7 4 0 )
+is-at-least:30> (( 0 <= 1 ))
+is-at-least:31> [[ '' != <-> ]]
+is-at-least:32> (( ++ver_cnt > 4 ))
+is-at-least:33> [[ 15 = *[0-9][^0-9]* ]]
+is-at-least:45> part=15
+is-at-least:31> [[ 15 != <-> ]]
+is-at-least:48> true
+is-at-least:49> (( ++min_cnt > 1 ))
+is-at-least:50> [[ 13 = <-> ]]
+is-at-least:50> break
+is-at-least:53> (( part > min_ver[min_cnt] ))
+is-at-least:53> return 0
+/Library/Management/erase-install/erase-install.sh:4098> [[ no == yes ]]
+/Library/Management/erase-install/erase-install.sh:4103> [[ ! -d /Applications ]]
+/Library/Management/erase-install/erase-install.sh:4109> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4126> [[ 0 -ne 0 ]]
+/Library/Management/erase-install/erase-install.sh:4132> writelog '[erase-install] Caffeinating this script (pid=9706)'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [erase-install] Caffeinating this script (pid=9706)'
2026-02-12 14:48:58 | v40.4 | [erase-install] Caffeinating this script (pid=9706)
+/Library/Management/erase-install/erase-install.sh:4136> [[ no == yes ]]
+/Library/Management/erase-install/erase-install.sh:4133> /usr/bin/caffeinate -dimsu -w 9706
+/Library/Management/erase-install/erase-install.sh:4139> dialog_window_title='Upgrading macOS'
+/Library/Management/erase-install/erase-install.sh:4142> [[ no == yes || yes == yes ]]
+/Library/Management/erase-install/erase-install.sh:4144> check_free_space
+check_free_space:1> free_disk_space=+check_free_space:1> osascript -l JavaScript -e 'ObjC.import('\''Foundation'\''); var freeSpaceBytesRef=Ref(); $.NSURL.fileURLWithPath('\''/'\'').getResourceValueForKeyError(freeSpaceBytesRef, '\''NSURLVolumeAvailableCapacityForImportantUsageKey'\'', null); Math.round(ObjC.unwrap(freeSpaceBytesRef[0]) / 1000000000)'
+check_free_space:1> free_disk_space=416
+check_free_space:3> [[ ! -n 416 ]]
+check_free_space:3> [[ 416 == 0 ]]
+check_free_space:9> [[ 416 -ge 50 ]]
+check_free_space:10> writelog '[check_free_space] OK - 416 GB free/purgeable disk space detected'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [check_free_space] OK - 416 GB free/purgeable disk space detected'
2026-02-12 14:48:58 | v40.4 | [check_free_space] OK - 416 GB free/purgeable disk space detected
+/Library/Management/erase-install/erase-install.sh:4147> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4153> writelog '[erase-install] Looking for existing installer app or pkg'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [erase-install] Looking for existing installer app or pkg'
2026-02-12 14:48:58 | v40.4 | [erase-install] Looking for existing installer app or pkg
+/Library/Management/erase-install/erase-install.sh:4156> [[ -f /Library/Management/erase-install/InstallAssistantDownload.pkg ]]
+/Library/Management/erase-install/erase-install.sh:4161> find_existing_installer
+find_existing_installer:2> cached_installer_app=+find_existing_installer:2> find /Applications -maxdepth 1 -name 'Install macOS*.app' -type d -print -quit
+find_existing_installer:2> cached_installer_app=''
+find_existing_installer:3> cached_installer_app_in_workdir=+find_existing_installer:3> find /Library/Management/erase-install -maxdepth 1 -name 'Install macOS*.app' -type d -print -quit
+find_existing_installer:3> cached_installer_app_in_workdir=''
+find_existing_installer:4> cached_installer_pkg=+find_existing_installer:4> find /Library/Management/erase-install -maxdepth 1 -name 'InstallAssistant*.pkg' -type f -print -quit
+find_existing_installer:4> cached_installer_pkg=''
+find_existing_installer:6> [[ -d '' ]]
+find_existing_installer:10> [[ -d '' ]]
+find_existing_installer:14> [[ -f '' ]]
+find_existing_installer:18> writelog '[find_existing_installer] No valid installer found.'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [find_existing_installer] No valid installer found.'
2026-02-12 14:48:58 | v40.4 | [find_existing_installer] No valid installer found.
+find_existing_installer:19> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4165> [[ yes == yes && '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4173> do_overwrite_existing_installer=0
+/Library/Management/erase-install/erase-install.sh:4175> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4180> [[ -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4191> [[ -n '' ]]
+/Library/Management/erase-install/erase-install.sh:4206> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4222> [[ '' == yes ]]
+/Library/Management/erase-install/erase-install.sh:4241> [[ 0 == 1 ]]
+/Library/Management/erase-install/erase-install.sh:4249> [[+/Library/Management/erase-install/erase-install.sh:4249> /usr/sbin/sysctl -q -n hw.optional.arm64
+/Library/Management/erase-install/erase-install.sh:4249> [[ 1 -eq 1 ]]
+/Library/Management/erase-install/erase-install.sh:4249> arch=arm64
+/Library/Management/erase-install/erase-install.sh:4250> writelog '[erase-install] Running on architecture arm64'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [erase-install] Running on architecture arm64'
2026-02-12 14:48:58 | v40.4 | [erase-install] Running on architecture arm64
+/Library/Management/erase-install/erase-install.sh:4251> [[ arm64 == arm64 && no == yes || yes == yes ]]
+/Library/Management/erase-install/erase-install.sh:4252> get_user_details
+get_user_details:2> password_attempts=1
+get_user_details:3> password_check=fail
+get_user_details:4> [[ fail != pass ]]
+get_user_details:5> writelog '[get_user_details] ask for user credentials (attempt 1/5)'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [get_user_details] ask for user credentials (attempt 1/5)'
2026-02-12 14:48:58 | v40.4 | [get_user_details] ask for user credentials (attempt 1/5)
+get_user_details:9> [[ 1 = 1 && -n '' ]]
+get_user_details:11> [[ 1 = 1 && -n '' ]]
+get_user_details:32> pgrep -q Finder
+get_user_details:38> [[ ! -n '' ]]
+get_user_details:39> ask_for_credentials
+ask_for_credentials:2> get_default_dialog_args utility
+get_default_dialog_args:3> default_dialog_args=( --bannerimage 'colour=#056AE6' --commandfile /var/tmp/dialog.RUu --ontop --json --ignorednd --position centre --quitkey c )
+get_default_dialog_args:12> [[ utility == fullscreen ]]
+get_default_dialog_args:24> [[ utility == utility ]]
+get_default_dialog_args:25> writelog '[get_default_dialog_args] Invoking utility dialog'
+writelog:1> DATE=+writelog:1> date '+%Y-%m-%d %H:%M:%S'
+writelog:1> DATE='2026-02-12 14:48:58'
+writelog:2> echo '2026-02-12 14:48:58 | v40.4 | [get_default_dialog_args] Invoking utility dialog'
2026-02-12 14:48:58 | v40.4 | [get_default_dialog_args] Invoking utility dialog
+get_default_dialog_args:26> default_dialog_args+=( --bannerheight 40 --moveable --width 600 --height 300 --titlefont 'size=20,shadow=1' --messagefont 'size=14' --alignment left )
+ask_for_credentials:3> dialog_args=( --bannerimage 'colour=#056AE6' --commandfile /var/tmp/dialog.RUu --ontop --json --ignorednd --position centre --quitkey c --bannerheight 40 --moveable --width 600 --height 300 --titlefont 'size=20,shadow=1' --messagefont 'size=14' --alignment left )
+ask_for_credentials:4> dialog_args+=( --bannertitle 'Upgrading macOS' --icon '/System/Applications/System Settings.app' --overlayicon 'SF=key.fill' --iconsize 128 --textfield 'Username,prompt=rimorton' --textfield Password,secure --button1text Continue --timer 300 --hidetimerbar )
+ask_for_credentials:15> [[ no == yes ]]
+ask_for_credentials:20> dialog_args+=( --message 'Upgrading macOS requires authentication using local account credentials. \n\nPlease enter your account name and password to start the upgrade process.' )
+ask_for_credentials:24> [[ 5 != infinite ]]
+ask_for_credentials:25> dialog_args+=( -2 )
+ask_for_credentials:29> /Library/Management/erase-install/Dialog.app/Contents/MacOS/Dialog --bannerimage 'colour=#056AE6' --commandfile /var/tmp/dialog.RUu --ontop --json --ignorednd --position centre --quitkey c --bannerheight 40 --moveable --width 600 --height 300 --titlefont 'size=20,shadow=1' --messagefont 'size=14' --alignment left --bannertitle 'Upgrading macOS' --icon '/System/Applications/System Settings.app' --overlayicon 'SF=key.fill' --iconsize 128 --textfield 'Username,prompt=rimorton' --textfield Password,secure --button1text Continue --timer 300 --hidetimerbar --message 'Upgrading macOS requires authentication using local account credentials. \n\nPlease enter your account name and password to start the upgrade process.' -2 -AppleLanguages '(en-US)' -AppleAccentColor 4
+get_user_details:40> [[ 0 -eq 2 ]]
+get_user_details:46> echo HERE
HERE
+get_user_details:47> echo /var/tmp/dialog.json
/var/tmp/dialog.json
+get_user_details:48> ls -al /var/tmp/dialog.json
-rw-r--r-- 1 root wheel 67 Feb 12 14:49 /var/tmp/dialog.json
+get_user_details:49> cat /var/tmp/dialog.json
{
"Password" : "!@M@p@$$w0rd",
"Username" : "rimorton"
}
+get_user_details:50> sleep 10
+get_user_details:51> account_shortname=+get_user_details:51> ljt /Username
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):
- OS version [e.g. 15.7.3 and 15.7.4]
- erase-install version 40.4
Additional context
Add any other context about the problem here.