Skip to content
Aqib Javed.
All guides

Mac guide

How to move all windows back to the MacBook screen

By Aqib Javed · Updated Nov 2, 2026

macOS has no button that gathers every app window onto one screen. The quickest built-in way is to unplug the other display: macOS moves its windows onto the screen that's left. Without unplugging, move windows one at a time by dragging them or with Window, Move to and the display's name. DisplayShift adds a shortcut that moves everything: Control Option Command B to the MacBook, Control Option Command E to the external display.

What happened to Gather Windows

Older versions of macOS had a Gather Windows button in System Preferences, Displays, when more than one display was connected. It never gathered app windows: Apple's documentation says it moved the open Displays preferences windows to the display the button was on, which helped when a display was showing nothing usable.

System Settings in macOS 13 Ventura and later, through macOS 27, has no Gather Windows button. The Displays page offers Arrange, Use as and Detect Displays, but nothing that moves app windows.

How to move all windows to one screen with macOS alone

  1. To bring everything to the MacBook, unplug the monitor or disconnect the dock. macOS moves the monitor's windows onto the MacBook screen.
  2. To keep the monitor connected, drag each window by its title bar across the edge where the screens meet in System Settings, Displays, Arrange.
  3. Or, in apps that have it, choose Window, then Move to followed by the display's name, for example Move to Built-in Retina Display.
  4. Full screen windows have to leave full screen first: press Control Command F, move the window, then make it full screen again.

A window that is stuck partly off screen can be pulled back on macOS 15 Sequoia and later: click it, then choose Window, Move & Resize, Center or Fill.

A free scripted shortcut with Hammerspoon

Hammerspoon is a free automation app scripted in Lua. Put this in its init.lua and reload the config, and Control Option Command G moves every window to the main display. Hammerspoon only sees windows on the current desktop, so full screen windows and other desktops are left where they are.

hs.hotkey.bind({"ctrl", "alt", "cmd"}, "G", function()
  local main = hs.screen.primaryScreen()
  for _, win in ipairs(hs.window.allWindows()) do
    win:moveToScreen(main)
  end
end)

Move everything, or choose what moves, with DisplayShift

  1. Press Control Option Command B to move every window to the MacBook screen, or Control Option Command E to move them to the external display. The same commands are in the DisplayShift menu as Move everything to, and in Settings, Screens.
  2. To choose instead, press Control Option Command M. The picker lists every window, full screen apps and other desktops included. Switch the destination to the MacBook screen, tick what should move, and click Move.
  3. Apps with a rule stay put: an app set to Never moves stays where it is, and one set to Stays on the MacBook goes there even when everything else moves to the monitor.
  4. Every move has an Undo, so you can put things back if you moved too much.
  5. If a window is stuck off screen, press Control Option Command L (Find lost windows) to bring it onto the MacBook.

Shortcuts can be changed in Settings, Shortcuts. DisplayShift is free for 7 days, then $6.99 once.

Questions

What is Gather Windows on a Mac?

A button in older macOS Displays preferences that moved the Displays settings windows to the screen it was on. It didn't move app windows, and System Settings in Ventura and later doesn't have it.

Is there a shortcut to move all windows to one screen on a Mac?

Not built in. You can script one with Hammerspoon, or use DisplayShift, where Control Option Command B moves everything to the MacBook and Control Option Command E to the external display.

Do my windows move back to the MacBook when I unplug the monitor?

Yes. macOS moves windows from a display that disconnects onto the screens that remain. Plugging back in doesn't always return them, which is where a layout tool helps.

How do I get a window back that's off screen on a Mac?

Click the app, then on macOS 15 Sequoia or later choose Window, Move & Resize, Center. DisplayShift's Find lost windows (Control Option Command L) brings every unreachable window back onto the MacBook.

Can I move all windows to the external monitor instead?

With macOS alone you move them one at a time, by dragging or with Window, Move to. DisplayShift's Control Option Command E moves every window to the external display at once, apart from apps you set to stay on the MacBook or never move.