Apple Diagnostics: how to start the test on Apple Silicon and Intel Macs

Apple Silicon Macs start Apple Diagnostics from the startup-options window with Command-D, not the old hold-D-at-boot keystroke. Here's the exact sequence on both architectures and what to disconnect before you start.

Marcus Williams
Marcus WilliamsHardware reporter
7 min read
apple-diagnosticsmac-diagnosticsapple-siliconintel-macdiagnosticsmac-hardware-test
Apple Diagnostics: how to start the test on Apple Silicon and Intel Macs

Apple Diagnostics: how to start the test on Apple Silicon and Intel Macs#

Apple Silicon Macs start Apple Diagnostics by holding the power button into the startup-options window and then pressing Command-D. The old Intel keystroke (hold D from a cold boot) no longer does anything on M-series hardware, because Apple disabled boot-time key interrupts at the bootloader to enforce the secure boot chain. Intel Macs still use the original hold-D path, with Option-D as the fallback that forces an internet-based run.

This is the test Apple ships on every Mac sold since approximately June 2013, and a clean run takes 2 to 5 minutes. The full procedure on both architectures is below, along with what to disconnect, how to read the results screen, and where Apple's reference-code list lives.

Apple Silicon: power button, then Command-D#

The five-step sequence:

  1. Shut down. Apple menu → Shut Down, or hold the power button about 10 seconds if the Mac is frozen.
  2. Disconnect peripherals except keyboard, mouse, display, Ethernet (if used), and AC power.
  3. Press and hold the power button (Touch ID button on laptops). Keep holding past the Apple logo.
  4. Release when the startup-options window appears, showing your startup disk and a gear icon labeled "Options."
  5. Press and hold Command-D. The Mac reboots into Apple Diagnostics.

Once the test loads, pick a language, agree to the terms, and choose "Run Offline" if prompted (or wait for an online test if a technician initiated one remotely).

The reason for the change is architectural. On Apple Silicon, traditional keyboard boot interrupts are disabled at the bootloader level to enforce the secure boot chain managed by iBoot and the Secure Enclave. The diagnostic image lives in the always-resident recoveryOS environment (sometimes called 1TR, "One True Recovery"), and its cryptographic signature is verified by iBoot before it runs in an isolated container, per Apple's startup-key reference. You cannot interrupt the boot path with a keystroke from a cold start. You have to get to the startup-options window first, which the power-button-hold does.

Intel: hold D at boot, Option-D for the online run#

On Intel Macs the original path still works:

  1. Shut down.
  2. Disconnect peripherals (same list as above).
  3. Power on and immediately press and hold the D key.
  4. If D does not work (typically because the local diagnostic files are missing, or the drive was replaced), reboot and hold Option-D. That forces an internet-based diagnostic, which downloads the hardware-specific payload from Apple's servers over Wi-Fi or Ethernet.
  5. Release when you see the language picker or progress bar.

For a battery code on an Intel Mac, Apple specifically recommends rerunning over the internet with Option-D to confirm before scheduling service. The online path retrieves a fresh diagnostic payload and logs an official evaluation against your serial.

What to disconnect before starting#

Apple's published guidance is straightforward: leave keyboard, mouse, display, Ethernet, and AC connected. Disconnect everything else.

This is the single most common cause of false codes on Mac diagnostic runs. External USB devices register as NDD001 (USB hardware). Thunderbolt peripherals register as NDT001 through NDT006. NDR007 specifically means "external input device detected." All three clear after disconnecting the peripheral and rerunning.

Place the Mac on a hard, flat, ventilated surface. The fans may spin up during the run.

Reading the results screen#

A clean run returns the reference code ADP000, which means "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 (article last published December 15, 2025). The prefix identifies the subsystem (PPT for battery, PPM for memory, VFD for display/GPU, CNW for Wi-Fi, and so on), and the three digits identify the specific failure mode within that subsystem.

From the results screen, the available options are:

  • Command-R or "Run the test again." Useful for intermittent codes. Run two or three times before concluding a failure.
  • R. Restart normally.
  • S. Shut down.
  • Command-G or "Get started." Reboots to a Safari page that pre-fills Apple's support flow with your Mac's serial number and the codes the test returned. This is the escalation path Apple Support agents expect customers to have used before calling.

What the test 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. The full subsystem-prefix index is in the canonical reference.

The test is intentionally fast (2 to 5 minutes) and shallow. It is a presence/threshold check, not an exhaustive functional test. A passing ADP000 confirms that monitored components are present and within electrical and sensor tolerances. It does not guarantee that every feature works. A single dead key on a laptop can pass NDK001. A display panel with an intermittent flicker can pass every VFD code. A Thunderbolt port that fails only at full 40 Gb/s can pass NDT001-NDT006.

For specific hidden failure modes, the matching tool sits outside Apple Diagnostics: battery cycle count and capacity in System Information or CoconutBattery, SSD wear via the NVMe SMART page that smartctl reads, sustained-load thermal throttling via powermetrics -s thermal or asitop, and repair history on the Parts & Service pane in macOS Tahoe 26.

Online and offline diagnostics#

The on-disk image refreshes from Apple's servers when the Mac has connectivity. Recent Macs fall back to the local image when they can't reach Apple. The two paths behave differently:

  • The online path transmits your serial number, component identifiers, and telemetry to Apple's diagnostic servers. This is the path Apple Support requires to log an official evaluation.
  • The offline path runs local hardware loopbacks, voltage sensors, and thermal checks without uploading logs. It returns the same reference codes, but Apple Support does not have a record of the run.

For most owners running the test on their own, offline is fine. The exception is the Intel battery code path: PPT004 specifically asks for a rerun over the internet with Option-D before scheduling service.

macOS Tahoe 26 changed the test itself#

The Apple Silicon invocation path described above is the same on Tahoe 26 (Command-D from the startup-options window), but the test interface itself changed. On macOS Tahoe 26 and later, the pre-boot utility shifted from a single automated sequence to an interactive, user-selectable suite. You can target a specific subsystem (built-in display, keyboard/key matrix, trackpad, or ports) for standalone validation rather than running every check in order. On earlier macOS the test still runs automatically end-to-end.

For pre-sale and pre-purchase workflows on Tahoe 26 hardware, the interactive suite matters because you can verify the most negotiation-sensitive subsystems (keyboard, trackpad, display, ports) independently and document each pass.

What this means for the reader#

The procedural change between Intel and Apple Silicon is the single most common reason people think Apple Diagnostics "doesn't work" on a newer Mac. The old keystroke is gone. The new keystroke is Command-D, but you have to be in the startup-options window first, not at a cold boot. Hold the power button through the Apple logo, wait for the gear icon labeled "Options," then press Command-D.

Once the test runs, the result is either ADP000 or a three-letter code. ADP000 is the all-clear, with the caveat that it is a presence test, not a functional one. For buyers and sellers documenting a Mac before money moves, the Command-G escalation path turns a passing run into a serial-stamped Safari record that Apple Support recognizes, and the Macfax Basic report against the same device wraps the same signals into a shareable URL. The pillar reference for the full Mac diagnostic stack in 2026 covers the rest: which third-party tools cover what Apple Diagnostics hides, how to read the NVMe SMART page on Apple Silicon, and what the Parts & Service pane on Tahoe 26 actually flags.