How to Save and Restore Window Layouts on Mac
macOS can't save a window layout on its own. Here are the tools that can, Moom, Rectangle Pro, Raycast, Hammerspoon and TileOrg, and how each one works.
The short answer
macOS has no built-in way to save an arrangement of windows and bring it back later. You need a third-party tool. Moom, Rectangle Pro, Raycast Pro and BetterTouchTool save layouts you trigger with a shortcut, Hammerspoon does it with a Lua script, and TileOrg keeps each project's windows grouped and tiled across reboots.
What macOS does on its own
Since Sequoia, macOS can tile windows. Hover over the green button or open Window > Move & Resize and you get halves, corners and a few two-window arrangements. Apple's guide says nothing about saving an arrangement. Each time, you tile again.
Stage Manager lets you drag apps into a group in the center of the screen. Its guide does not describe saving those groups as layouts either.
The closest native option is assigning apps to Spaces. Control-click an app in the Dock, choose Options, then This Desktop. The app will open in that Space. It controls which desktop an app lands on, not where its windows sit or how big they are.
Moom
Moom by Many Tricks has saved layouts. You arrange your windows, save a layout, and activate it later from a hotkey or Moom's on-screen controller. Newer versions add "any window" layouts, which move your N most recently used windows into the saved positions, whatever apps they belong to. Saved layouts also try to adjust when you use them on a display of a different size.
It costs $15, sold directly or on the Mac App Store, with a free trial. It needs macOS 10.13 or later. If your goal is "same apps, same spots, every morning", Moom is the most direct answer.
Rectangle Pro
The free Rectangle snaps one window at a time. Rectangle Pro adds app layouts. Its page says you can "arrange an entire workspace of apps with just one shortcut" and have a layout activate when displays are connected or disconnected. That second part helps laptop users who dock at a desk. It has a 10-day free trial.
Raycast Pro and BetterTouchTool
If you already use one of these, check it before buying anything. Raycast's Create Layout places up to eight app windows per display, and Save Current Layout builds one from what is on screen. It falls under Custom Window Management Commands, which Raycast limits to Pro at $10 a month. BetterTouchTool has a save and restore window layout action, and a license starts at $15.
Hammerspoon
Hammerspoon is free, MIT-licensed, and scriptable in Lua. Its hs.layout module takes a table of app, window title, screen and position, and applies it in one call. Put something like this in ~/.hammerspoon/init.lua:
hs.hotkey.bind({"ctrl", "alt"}, "L", function()
local screen = hs.screen.primaryScreen()
hs.layout.apply({
{"Safari", nil, screen, hs.layout.left50, nil, nil},
{"Terminal", nil, screen, hs.layout.right50, nil, nil},
})
end) Press Control-Option-L and Safari takes the left half, Terminal the right. You get full control and no price tag. You also maintain the script yourself, and the layout lives in code, not in a "save" button.
The TileOrg way: projects that survive a reboot
Disclosure: TileOrg is our app. It works differently from the tools above. Instead of a saved snapshot you trigger, each project keeps a list of its windows and their pane layout, and TileOrg brings that back after you quit it or restart your Mac.
- Install TileOrg and grant Accessibility permission. Screen Recording is optional and only adds live thumbnails in Command Center.
- Press ⌃⌥N to create a project and give it a name, like "Client site".
- Press ⌃⌥Space to open the window picker and assign the windows that belong to it. Your editor, a terminal, the browser window with the staging site.
- Tile them into panes. Each pane is single, horizontal split, vertical split or grid, with up to 4 windows. With two displays, each monitor gets its own pane assignments.
- Repeat for your other projects. ⌃⌥1 through ⌃⌥9 switches projects in under 100 ms. ⌃⇧1 through ⌃⇧6 switches panes.
- Restart your Mac. Your projects, layouts and window assignments come back, apps reopen, and TileOrg re-matches windows to their projects.
⌃⌥Tab opens Command Center, an overview of every project. If you run coding agents like Claude Code or Codex in those terminals, TileOrg also shows their status per project in the menu bar.
The trade-off: TileOrg needs macOS 14 or later, and it has no drag-to-snap or automatic tiling. It costs $29 once, with a 30-day trial that needs no account.
Which one to use
| Tool | How layouts are saved | Price |
|---|---|---|
| macOS | Not saved; Spaces can pin apps to a desktop | Free |
| Moom | Saved layouts, triggered by hotkey or menu | $15 |
| Rectangle Pro | App layouts, can trigger on display change | Paid, 10-day trial |
| Raycast Pro | Layouts of up to 8 windows per display | $10/mo |
| Hammerspoon | Lua script you write | Free |
| TileOrg | Projects with pane layouts, restored after reboot | $29 once |
If you have one fixed setup, Moom or Rectangle Pro will do it with less to learn. If you like code, Hammerspoon costs nothing. If you juggle several projects and want each one's windows back where you left them, try TileOrg.
For the broader picture, read how to organize your macOS workspace for deep work or the best macOS window managers in 2026. Already on Raycast? See TileOrg vs Raycast.
Try TileOrg
30-day free trial. All features included.
Download TileOrgv0.2.0 · 3.3 MB · macOS 14 Sonoma