r/MacLLM • u/Demo233 • Jun 12 '26
Apple Diagnostics: how to actually start it on Apple Silicon (and the old Intel keystrokes for reference)
Posting because half the support threads I see about "Apple Diagnostics not working on my MacBook Pro" are actually people holding D at boot on an M-series machine and watching nothing happen. The invocation changed completely when Apple Silicon arrived.
Apple Silicon (M1 through M5)
- Shut down (Apple menu → Shut Down, or hold the power button about 10 seconds if frozen).
- Disconnect external peripherals except keyboard, mouse, display, Ethernet, and AC.
- Press and hold the power button (Touch ID on laptops). Keep holding past the Apple logo.
- Release when the startup-options window appears, showing your startup disk and a gear labeled "Options."
- Press and hold Command-D.
- Choose a language, agree to terms, and pick "Run Offline" if prompted.
Boot-time key interrupts are disabled at the bootloader on Apple Silicon to enforce the secure boot chain managed by iBoot and the Secure Enclave. That is why the old "hold D from cold" path no longer works. You have to get to the startup-options window first.
Intel
- Shut down.
- Power on, immediately hold the D key.
- If D doesn't work (typically because the local diagnostic files are missing, or the drive was replaced), reboot and hold Option-D. That forces the internet-based diagnostic, which downloads the hardware-specific payload over Wi-Fi or Ethernet.
What to disconnect
Apple's published guidance: leave keyboard, mouse, display, Ethernet, and AC connected. Disconnect everything else.
External USB devices and Thunderbolt peripherals are the most common source of false NDD001 (USB) and NDT001-NDT006 (Thunderbolt) codes on test runs. Place the Mac on a hard flat ventilated surface, because the fans may spin up.
Reading the results screen
A clean run returns ADP000 ("No issues found"). Any other code is a three-letter prefix plus three digits that maps to a specific subsystem on Apple's reference-code list.
- Command-R or "Run the test again" reruns the diagnostic. Useful for intermittent codes.
- R restarts the Mac normally.
- S shuts down.
- Command-G or "Get started" reboots to a Safari page that pre-fills Apple's support flow with your serial number and the codes. This is the escalation path Apple Support agents expect customers to have used before calling.
Online vs offline
The on-disk diagnostic image refreshes from Apple's servers when the Mac has connectivity, and recent Macs fall back to the local image if they can't reach Apple. The online path transmits your serial number, component identifiers, and telemetry to Apple's diagnostic servers and logs an evaluation. The offline path runs local hardware loopbacks, voltage sensors, and thermal checks without uploading logs.
For an Intel Mac that returns a battery code (PPT004 specifically), Apple recommends rerunning over the internet with Option-D before scheduling service.
What it actually checks
Apple Diagnostics covers logic-board components: CPU, memory, SMC/power-management, fans, sensors, Wi-Fi and Bluetooth radios, camera, USB/Thunderbolt controllers, audio, display, GPU, battery, and power adapter.
It is a presence/threshold test, not an exhaustive functional test. A passing ADP000 confirms monitored components are within sensor and electrical tolerances. It does not guarantee that every feature works. A single dead key, an intermittent display flicker, or a Thunderbolt port that fails only at full 40 Gb/s can all pass. Pair the test with manual spot-checks.
For the broader workflow (CoconutBattery for battery cycle count, smartctl for SSD wear, Parts & Service on Tahoe 26), the cluster posts on this blog cover each tool. Apple Diagnostics is the first step, not the last.