What Is Apple Diagnostics?

Apple Diagnostics is a diagnostic tool built into every Mac. It can run diagnosis algorithms on your Mac’s hardware without visiting the Apple Store. You can use it to search for problems in all of the Mac’s major systems, from input devices like the keyboard and trackpad to display devices like the graphics processor to the core of the computer, the CPU, storage, and memory. While it can only detect the problems that it was programmed to detect, and its analysis isn’t particularly nuanced, Apple Diagnostics can give you an idea of the severity and type of problem you’re facing.

Running Apple Diagnostics

Apple Diagnostics must be run from boot, requiring you to restart your Mac. It helps if you disconnect all your unnecessary peripherals first, leaving the keyboard and mouse connected. This reduces the number of confounding factors that could complicate a diagnosis.

  1. Disconnect all external devices from your Mac, except for your mouse and keyboard.

  2. Shut down your Mac.

  3. Restart your Mac while holding down the D key on your keyboard.

  4. Wait a few minutes for Apple Diagnostics to finish running. Once it’s finished, you’ll see the relevant diagnostic reference codes appear on the screen.

  5. Once the test is finished, you can repeat the test, find more information about the error codes, or shut down or restart your Mac normally.

Next Steps

If you do see a problem, it’s always a good idea to repeat the test. If you don’t see the problem on the repeated test run, it might be either intermittent or a false positive. If you get multiple tests with the same result, your confidence in the source of the problem is that much greater. If you receive a battery-service related code (PPT004), Apple specifically recommends re-running Apple Diagnostics over the Internet. To do so, shut down your Mac normally. Then, turn on your Mac while holding Option + D instead of just “D.” If you click “Get Started” or press Command + G, your Mac will boot into Recovery mode and launch an Apple Support web interface, provided you have an Internet connection. If you have telemetry turned off, this will also ask for your permission before sending any information about your computer to Apple. That’s the only time Apple Diagnostics sends information to Apple.

Apple Diagnostics Reference Code Classes

Apart from the ADP000 code, which means no problems are found, the reference codes produced by Apple Diagnostics tell you something about the type of problem you’ve encountered. In general, most error codes are treated the same way. Reconnect the device if it wasn’t tested or detected or get support from Apple. The brief textual explanations that accompany the reference codes are the full extent of the reference code details that Apple makes available to the consumer. Reference codes are formatted as a three letter code followed by a three number code with no spaces. Ranges are indicated below with dashes to reduce repetition.

CNW001-006: problem detected with the Wi-Fi hardware CNW007-008: no Wi-Fi networks detected NDC001-006: problem detected with the camera NDD001: problem detected with the USB controller NDK001-004: problem detected with the keyboard NDL001: problem detected with Bluetooth hardware NDR001-004: problem detected with the trackpad NDT001-006: problem detected with the Thunderbolt controller NNN001: serial number not detected PFM001-007: problem detected with the system management controller (SMC). This chip handles low-level hardware control on modern Macs. PFR001: problem detected in the computer’s firmware PPF001-004: problem detected with the fans PPM001-015: problem detected with onboard memory PPP001-003: problem detected with the power adapter PPP007: power adapter was not tested PPR001: problem detected with the CPU PPT001: battery not detected PPT002-003: battery health is critically low PPT004: battery requires service PPT005: battery installed improperly PPT006: battery requires service PPT007: battery requires replacement VDC001-007: problem detected with SD card reader VDH002-004: problem detected in the onboard storage device VDH005: could not start from the recovery partition VFD001-005: problem detected with the display VFD006: problem detected in the graphics processor VFD007: problem detected with the display VFF001: problem detected with the audio hardware

Conclusion

In essentially all the cases except for ADP000, your Mac requires service of some kind. The specifics of that service aren’t indicated by the diagnostic program, but the reference code is a valuable first step for the techs trying to solve your Mac’s problem.