External monitor not detected on Mac: diagnose and fix it from the Terminal

Find out whether macOS detects your external monitor, re-apply a working display mode with displayplacer, and verify the connection is healthy.

macOShardwaredisplayTerminalDiagnosticssystem_profilerLow risk
First run a display report to see whether macOS detects the monitor at all, then re-apply its mode with displayplacer.

What this covers

When an external monitor shows nothing or macOS acts like it isn't there, the cause is usually either a failed physical connection or a stale display mode the system can't recover from on its own. This guide walks you through detecting the problem at the hardware level, forcing the display back to a working mode, and verifying the fix — all from the Terminal.

Symptom

?Your external monitor stays black, isn't listed in System Settings > Displays, or macOS behaves as if only the built-in screen exists.

Check whether macOS actually sees the display

Before touching cables or settings, find out if the monitor is detected at the hardware level. This report lists every display macOS knows about, its resolution, scaled modes, and the graphics chip driving it. If your external monitor appears here, the connection works and the issue is likely layout or resolution — go straight to the fix. If it's missing entirely, the problem is physical (cable, adapter, port) and no software fix will help until it shows up.

system_profiler SPDisplaysDataType prints every connected display's resolution, scaled modes, and graphics chip.

Command
$ system_profiler SPDisplaysDataType

Re-apply the display's mode with displayplacer

Once the monitor is detected, a common cause of 'not detected' symptoms is a stale or invalid saved mode: the screen is black, sleeping, or stuck at a resolution it can't use. Install displayplacer and list the current screen IDs and modes, then re-apply a mode you know the monitor supports. This forces macOS to re-initialize the output, which usually brings a stubbornly dark or misconfigured monitor back to life. Save the working arguments so you can restore them later.

Use the displayplacer utility to list screen IDs and modes, change resolutions, rotate screens, set the primary display, and arrange multi-monitor layouts — all from the macOS command line.

Command
$ brew install displayplacer && displayplacer list
▾ Undo
Undo
$ Run `displayplacer list` before changing anything and re-apply the saved args later, e.g. displayplacer "id:<screenId> res:<width>x<height> hz:<num> color_depth:<num> scaling:<on/off> origin:(<x>,<y>) degree:<0/90/180/270>"

Confirm the monitor reports a healthy connection

Run the filtered display report one more time and check that your external monitor appears with a sensible resolution, display type, and connection type (e.g. DisplayPort or HDMI). Seeing the expected connection and resolution lines means the link is stable end-to-end — the monitor is detected, initialized, and driving pixels. If it drops off the list again, the fault is intermittent hardware: try a different cable, adapter, or port.

List every connected monitor's model, resolution, and connection type from the Terminal.

Command
$ system_profiler SPDisplaysDataType | grep -E 'Resolution|Display Type|Connection|Chipset'
!Before changing display settings with displayplacer, run displayplacer list and save the current arguments so you can restore your original layout if the new mode looks wrong.

How to confirm it worked

The external monitor shows a picture and appears in the filtered display report with the expected resolution and connection type.

Undo everything

Every command above can be reverted. Run these in order to undo all of it.

Undo everything
$ Run `displayplacer list` before changing anything and re-apply the saved args later, e.g. displayplacer "id:<screenId> res:<width>x<height> hz:<num> color_depth:<num> scaling:<on/off> origin:(<x>,<y>) degree:<0/90/180/270>"

Review before running — some steps may not be independent.

Sources

Last verified: 2026-09-21

Related guides