Back to blog
Guides7 min read

How to Save and Restore Window Layouts on Mac Automatically

Mac doesn't remember window positions when you dock or undock. Here's how to save and restore layouts automatically, with and without third-party apps.

Appish·

macOS has no built-in way to save and restore a specific window layout. When you disconnect a monitor, dock your MacBook, or restart, your windows scatter — and getting everything back where you want it is a manual job every single time. Here's how to fix that, from the native options that help a little, to tools that actually solve it.

Why does macOS forget where your windows were?

Windows on Mac are managed per-app, not per-workspace. macOS tracks a window's position relative to the display it's on, but when that display disappears (you unplug a monitor, close a lid, or undock), macOS has to shunt those windows somewhere — and it makes no promise about where they'll land when the display comes back.

This is different from how Windows 11 handles it. Windows 11 actually remembers per-monitor layouts and attempts to restore them when you reconnect a display. macOS does not. The behaviour has been the same since at least macOS Monterey, and Sequoia's window tiling additions didn't change it.

The practical result: if you use a MacBook that you dock and undock regularly, you're repositioning the same windows every morning.

What macOS gives you natively (and where it falls short)

Stage Manager (macOS Ventura+, System Settings → Desktop & Dock → Stage Manager) groups your open windows into sets and lets you switch between them. It's not really a layout saver — it's more of a task switcher — but if you always work with the same cluster of apps together, it keeps them visually grouped. The limitation: Stage Manager doesn't save positions within a group, and on multi-monitor setups it can behave inconsistently.

Spaces (Mission Control → + button in the top-right corner) let you dedicate virtual desktops to specific tasks. Again, not true layout saving — apps don't remember which space they belong to across restarts unless you pin them (right-click the Dock icon → Options → Assign to a specific Desktop).

App-level memory: a handful of apps — notably Finder, some Terminal configurations, and a few productivity apps — remember their own window size and position across launches. This is app-developer territory, not macOS infrastructure, so it's inconsistent.

The honest summary: native macOS tools can approximate layout organisation but won't save and restore exact window positions, especially across monitor configuration changes.

The real problem: docking and undocking

The scenario that breaks things most reliably is also the most common: MacBook → dock → external monitors. You set everything up exactly how you want it. You undock. You come back the next day, re-dock, and your windows are stacked on the built-in display doing nothing.

From purchase surveys, this is the situation that sends most people looking for a window manager — not tiling, not snapping, just: please put my windows back where they were when I plug this monitor back in.

macOS has no solution for this. When a display reappears, it treats it as a new event and does not attempt to restore the previous layout.

How to actually save and restore window layouts

Option 1: Manually reposition every time

Not a solution, but worth naming for completeness. You can drag every window back into place after docking. If you only have 3-4 windows and a single monitor, this might take 30 seconds. If you have 15 windows across 3 monitors, it's a multi-minute ritual twice a day.

Option 2: Use a window manager with layout saving

This is where third-party tools earn their place. The key feature to look for isn't tiling or snapping — it's named, saveable layouts that restore specific windows to specific positions, ideally with monitor-configuration awareness.

Layoutish is built specifically around this problem. You arrange your windows exactly how you want them, save that as a named layout, and restore it with a keyboard shortcut or from the menu bar. A few things that matter for the docking use case specifically:

  • Display profiles: Layoutish detects which monitors are connected and can automatically apply the right layout for that monitor configuration. Dock your MacBook and your three-monitor layout restores. Undock and your laptop-only layout kicks in.
  • Missing app handling: if an app in your saved layout isn't running when you restore, Layoutish launches it automatically before positioning it.
  • Smart positioning: some apps ignore positioning requests on the first try (looking at you, Electron apps). Layoutish retries until the window actually lands where it should.
  • Time-based scheduling: you can have your morning layout apply at 8am on weekdays automatically, without touching anything.

The Quick Switcher (⌘⇧L) lets you jump between layouts without leaving the keyboard. It's currently $6.99 — that rises to $9.99 on 1 September 2026, and it's a one-time purchase either way.

Option 3: Rectangle or Moom for lighter needs

If your need is simpler — you just want keyboard shortcuts to snap windows to halves or thirds and don't care about saving named layouts — Rectangle is free and solid. It won't restore layouts after a monitor change, but for a single-display setup where you just want consistent snapping, it's a reasonable starting point.

Moom ($10, Mac App Store) has a "snapshot" feature that can save window arrangements, though it's less automated than Layoutish when it comes to detecting display configuration changes and responding to them.

How to set up automatic layout restore with Layoutish

  1. Install Layoutish and grant Accessibility permission when prompted (System Settings → Privacy & Security → Accessibility). This is required for it to move windows.
  2. Arrange your windows exactly how you want them — across all connected monitors.
  3. Open Layoutish from the menu bar → click Save Layout → give it a name (e.g. "Docked — 3 monitors").
  4. Repeat with your laptop-only configuration: disconnect your monitors, arrange windows how you want them for that setup, save as a separate layout (e.g. "Laptop only").
  5. Enable Display Profiles: in Layoutish preferences, turn on monitor change detection. Layoutish will now watch for display configuration changes and offer to apply the matching layout automatically.
  6. Optionally, set a scheduled restore if you prefer time-based triggering instead of (or in addition to) monitor detection.

After setup, docking your MacBook will apply the right layout without you touching anything.

What about Sequoia's window tiling — does it help here?

No, not really. Sequoia's native window tiling (the coloured zone overlays when you drag a window to a screen edge) is a snapping tool, not a layout saver. It has no concept of named layouts, no display profile awareness, and no restore functionality. It also has a well-documented reliability problem where windows don't always snap to the intended zone, and keyboard shortcuts for tiling are inconsistent across apps.

For the specific problem of saving and restoring a layout across monitor changes, Sequoia's tiling is irrelevant.

Common questions

Does macOS Sequoia remember window positions when you reconnect a monitor?

No. macOS Sequoia does not restore window positions when a disconnected monitor is reconnected. Windows that were on the external display get moved to the internal display when the monitor disconnects, and macOS makes no attempt to restore them when the monitor comes back. A third-party tool with display profile awareness is currently the only reliable solution.

Can you restore a specific window layout with a keyboard shortcut on Mac?

Not natively — macOS has no built-in concept of named window layouts. Layoutish adds this: you save a named layout and can restore it via the Quick Switcher (⌘⇧L) or by assigning a custom global hotkey to it in the app's preferences.

Does saving a window layout work across restarts?

Layoutish layouts persist across restarts. When you restore a layout, if any apps in that layout aren't running, Layoutish launches them first and then positions the windows. Native macOS has no equivalent — window positions are not saved across restarts at the system level.

window managementmaclayoutsmulti-monitorproductivity