Mac guide
How to move windows to an external monitor automatically on a Mac
By Aqib Javed · Updated Oct 9, 2026
macOS has no setting that moves your open windows when you connect an external monitor. Making the monitor your main display only affects new windows, and the Window menu moves one window at a time. To move them all when you plug in, full screen apps included, use an app such as DisplayShift, which asks which windows to move the moment a display connects.
What macOS can do on its own
- Make the monitor the main display: in System Settings, Displays, Arrange, drag the white menu bar onto the monitor. New windows open there, but windows that are already open stay where they are.
- Move one window at a time: many apps have Window, then Move to your display's name, or you can drag the window across.
- Full screen apps need to leave full screen before they can move, then go full screen again on the other display.
macOS also isn't consistent about putting windows back where they were after you unplug, plug back in or wake from sleep, so a careful layout often ends up piled on the MacBook screen.
The scripting route
Tools like Keyboard Maestro and Hammerspoon can detect a display and move windows with a script you write. It works if you like scripting, but moving every window of every app, and full screen ones in particular, takes real effort to get right.
How to do it with DisplayShift
- Download DisplayShift from its page, unzip it, and drag it into Applications. It's free for 7 days, then $2.99 once.
- Open it and allow Accessibility access once, because macOS only lets approved apps move other apps' windows.
- Plug in your monitor. A picker drops out of the notch listing every window that isn't on the new screen yet, including full screen apps and other desktops.
- Tick what should move and click Move selected, or Move all. Windows glide across, and full screen apps move without macOS's flashing.
- Unplug later and the MacBook layout comes back. Plug in again and DisplayShift offers to put every window back where it was.
Questions
Can a Mac remember which monitor each window was on?
- Only partly. macOS often piles windows onto the MacBook screen after you unplug or wake from sleep. DisplayShift saves the layout for each set of screens and puts windows back when the same monitors return.
Can I move full screen apps to another display?
- Yes, but macOS makes them leave full screen first. DisplayShift does that for you: out of full screen, across, and back into full screen on the new display.
Does DisplayShift work with more than one external monitor?
- Yes. The picker lets you choose which display windows move to, and layouts are remembered for each combination of screens.