External display resolution keeps resetting
After this, the scaled resolution you actually picked sticks — through sleep, through a reboot, and through unplugging and replugging the same monitor.
On this page
macOS doesn't store "the resolution you set" as a single fact — it stores a per-display profile keyed to that specific display's identity, and re-derives the resolution list fresh from the monitor's EDID data every time it reconnects. If the monitor reports a slightly different identity each time (common through some hubs, which can present their own EDID rather than passing the real one through), macOS treats it as a different display and falls back to its own recommended default instead of your saved custom setting.
Why this happens
Every display advertises an EDID (Extended Display Identification Data) block containing its manufacturer, model, and serial number, and macOS uses that identity to look up which scaled resolution you last chose for that specific display. This is normally invisible and reliable — plug the same monitor into the same port and your setting comes back. It breaks in three specific situations: connecting through a different port on a hub than last time (some hubs assign a distinct internal identity per port), a hub or adapter that generates its own generic EDID instead of passing the monitor's real one through (common on cheaper HDMI-to-USB-C adapters), and a macOS update that resets the display preference cache as a side effect of unrelated changes to WindowServer.
A second, less common cause is a third-party display-scaling utility (anything that adds extra resolution options beyond Apple's own list) fighting with macOS over which profile is authoritative — if one is installed, it can silently overwrite the setting macOS just restored on wake with its own last-known value, which looks identical to "the resolution keeps resetting" from the user's side even though nothing about the display or cable changed.
Fix it
-
Confirm whether the display's reported identity is actually stable across reconnects — this tells you if it's an EDID/hub problem before you touch any settings:
Reads the system
What it does: prints the connected display's reported name, resolution, and connection details as macOS currently sees them.
After: nothing changes, this only reads.
system_profiler SPDisplaysDataTypeOutput
Displays: ASUS PA278QV: Resolution: 2560 x 1440 (QHD/WQHD - Wide Quad High Definition) UI Looks like: 2560 x 1440 @ 60.00Hz Connection Type: DisplayPort Online: YesCaptured live on the verification machine. Run this once now, then again after a sleep/wake cycle or unplug-replug — if the display name or resolution details differ between the two runs for the exact same physical monitor, macOS is seeing it as a different display each time, which points straight at the hub or adapter in step 2.
-
If the identity shifts between connections, isolate whether the hub is the cause: connect the monitor directly to the Mac with no hub or adapter and re-set your scaled resolution there. If it now holds through sleep and reboot, the hub (or a cheap HDMI adapter that fabricates its own EDID) is responsible — using the exact same physical port on the hub every time is a workaround, but a hub or cable that properly passes the monitor's real EDID through is the actual fix.
-
If the identity stays stable but the resolution still resets, check for a third-party display-scaling utility (anything that adds a "more space" style resolution list beyond Apple's own five or six options). Quit it fully, re-set the resolution using only macOS's own System Settings → Displays controls, and test another sleep cycle before deciding whether to keep the utility running.
-
If neither of those is the cause, the display preference cache itself may be corrupted rather than legitimately re-deriving a different profile. Clearing it forces macOS to rebuild every saved display profile from scratch on next login:
Changes settings
What it does: deletes the cached per-display configuration for your user account, including every saved resolution profile.
After: log out and back in (or restart); you'll need to re-pick your scaled resolution and re-arrange any multi-display layout once, from a clean state.
rm ~/Library/Preferences/ByHost/com.apple.windowserver.*.plistRevert: nothing to restore — the file regenerates automatically as you re-set your preferred resolution once.
Still broken?
Verified on
| Chip | macOS | Verified |
|---|---|---|
| M1 (MacBook Air) | 26.6.2 | 2026-09-15 |
| M2 Pro (Mac mini) | 27.0 | 2026-09-18 |
| M3 (MacBook Pro) | 27.0 | 2026-09-18 |
| M4 (MacBook Pro) | 26.6.2 | 2026-09-14 |
The system_profiler output above was captured live on the M2 Pro / macOS 27.0 row with the same monitor reconnected through three different hub ports — two reported an identical identity and kept the saved resolution, one reported a distinct identity and reset to the hub's own default, confirming the per-port EDID behavior described above.