Can macOS save a window layout by itself?
macOS does not include a feature to save and recall named window layouts. You can arrange windows by hand, but there is no built-in way to capture several named arrangements and call each one back later.
Window layout how-to
macOS does not include a feature to save and recall named window layouts. You can line up windows for the task at hand, but after a restart, a dock change, or a switch to another project, that arrangement generally has to be rebuilt by hand.
Other apps cover nearby needs, for example Stay for per-display window positions and Moom for tiling with saved layouts; see the Stay comparison and the Moom comparison for where each one fits.
Short version: capture the layout you already made as a named SnapState workspace, then restore it from the menu bar, a Control-Command shortcut, or an automatic display or wake trigger.
Each workspace is a snapshot of the current desktop, with clear boundaries on what is included.
| Item | Saved | Notes |
|---|---|---|
| Window position and size | Yes | Visible windows on the current desktop |
| Apps needed to relaunch the workspace | Yes | Missing apps are relaunched on restore |
| Monitor and display layout | Yes | Frames remap when the setup differs |
| Active browser tab URL per window | Yes | Safari, Chrome, Edge, Brave, Arc, Chromium; needs Automation permission |
| Full tab sets per window | No | Only the active tab URL is restored |
| macOS Spaces | No | Current desktop only |
| Firefox windows | No | Firefox is not supported |
| Tiling or snapping behavior | No | SnapState recalls snapshots; it is not a tiling manager |
Named workspaces work best when each one matches a single context. Keep separate coding, writing, calls, and research workspaces so restoring one always means the same thing. Name them for the task, arm the display and wake triggers only where they help, and keep the rest on menu bar or Control-Command-1 to 6 recall so layouts never change under you unexpectedly.
SnapState is a native macOS menu bar app, version 2.5.2, requiring macOS 15.7 or later on Apple Silicon and Intel Macs. It costs $9.99 as a one-time purchase through Lemon Squeezy, with a lifetime license for up to three Macs and a 14-day refund, and ships as a signed, notarized DMG rather than through the Mac App Store. It needs Accessibility permission to read and move windows, and workspace data stays local on your Mac as JSON in ~/Library/Application Support/SnapState/.
macOS does not include a feature to save and recall named window layouts. You can arrange windows by hand, but there is no built-in way to capture several named arrangements and call each one back later.
Each named workspace saves the visible windows on the current desktop with position and size, the apps needed to relaunch them, the monitor and display layout, and the active tab URL of each window in Safari, Chrome, Edge, Brave, Arc, and Chromium after Automation permission is granted.
SnapState does not save or restore macOS Spaces, only the visible windows on the current desktop. It restores only the active tab URL per supported browser window, not full tab sets, and Firefox is not supported. It is not a tiling or snapping window manager.
Restore from the SnapState menu bar, with global Control-Command-1 to 6 shortcuts, or automatically when a monitor connects or disconnects, when a matching display layout appears, or on wake from sleep. Saved window frames are remapped onto the current displays when the setup differs.
One workspace per context tends to work best: coding, writing, calls, and research, for example. Name each one for the task so the right layout is one click or one shortcut away.