DEV Community

Nghia Luong
Nghia Luong

Posted on

How to Restore Your macOS Workspace Automatically: Apps, Windows, Spaces, and Browser Profiles

Updated May 2026: Now covers virtual desktop (Spaces) restoration and iCloud sync across multiple Macs, both shipped in ShiftPlus 1.3.

TL;DR

  • A complete macOS workspace includes apps, window layouts, browser profiles, virtual desktops, and terminal state. Native macOS saves almost none of it.
  • Most third-party tools cover one slice: Stay and Spencer handle window layouts, Shift handles browser profiles, none handle Spaces.
  • ShiftPlus captures all of it in one profile and restores it with a hotkey, including pinning apps to specific desktops.
  • iCloud sync makes the same workspace available across multiple Macs without rebuilding it on each one.

What Counts as a "Workspace" on macOS

Most people think a workspace is just "the apps that are open." That's the easy part. A complete working state includes:

  • Open apps: the specific applications for the task
  • Browser profiles: work Gmail in Chrome, personal in Safari, client-specific in Brave
  • Window geometry: exact size and position per display
  • Window arrangement: half-screen, fullscreen, side-by-side
  • Virtual desktops (Spaces): which desktop each app belongs on
  • Multi-monitor placement: what's on the laptop screen vs. the external display
  • Terminal environment: directory, env vars, AWS profile
  • Cross-device state: same workspace on multiple Macs

macOS handles maybe two of these well. The rest you rebuild by hand, every time.


The Hidden Cost

Three minutes to set up a workspace, five times a day, equals fifteen minutes daily. That's over five hours a month spent dragging windows.

The bigger cost is focus. Every rebuild interrupts the task you actually want to be doing, and recovering from interruption costs more than the clock time alone.

It compounds across machines. A workspace painstakingly built on your iMac doesn't follow you to your MacBook. You either rebuild it or settle for a degraded version.


Why Native macOS Falls Short

Apple gives you a few half-solutions:

  • "Reopen windows when logging back in" opens apps but doesn't restore profiles, layouts, or Space assignments
  • Apple Shortcuts can launch apps but can't reliably set window sizes or browser profiles
  • Spaces exist, but there's no "save this Spaces layout" feature
  • AppleScript works if you want to maintain brittle scripts that break on every macOS update

Each tool covers one slice. None treats the entire state as something worth saving.


Third-Party Solutions Compared

Tool Launches apps Window layout Browser profiles macOS Spaces Multi-Mac sync Terminal env vars Deeplinks
Stay
Spencer
Workspaces partial
Shift Browser
ShiftPlus

A short note on each:

Stay by Cordless Dog is a long-running window-position memory tool. It restores window sizes and positions when you reconnect displays, but it doesn't launch apps and doesn't manage browser profiles. It's now freeware.

Spencer is the closest competitor in scope. It saves window layouts across multiple macOS Spaces, launches apps that aren't running, and hides ones that don't belong. It doesn't handle browser profiles, terminal state, or sync across multiple Macs.

Workspaces by Apptorium is a project-based launcher: it groups apps, files, folders, and URLs into named workspaces and opens them with one click. Because you can add raw URLs to a workspace, you can include macOS URL schemes (e.g. slack://...) as a workaround for deeplinks — but this is manual, not captured automatically. The developers explicitly note it doesn't save window layouts, and it doesn't manage browser profiles or Spaces.

Shift Browser (from Shift Technologies, unrelated to ShiftPlus) is a different category entirely: it's an Electron-based browser shell that integrates 1,500+ web apps and lets you separate accounts within its own UI. It doesn't manage native Mac apps, window layouts, or macOS Spaces.

ShiftPlus was built to fill the gap across all of these: one capture covers apps, window layouts, browser profiles, macOS Space placement, deeplinks, and multi-Mac sync, in a native Mac app. Deeplinks are first-class — open Slack directly to a channel, Spotify to a playlist, or VS Code to a specific project, not just the app's default state.


ShiftPlus: One Capture, Full Restore

Thumbnail

(Tap the thumnail to open youtube video)

Capturing Your Workspace

Arrange your environment, click Capture Current Setup, give it a name. ShiftPlus records the full state in a single profile.

Capturing your current workspace

What gets recorded: each running app, exact window frames per display, the active browser profile in each browser, which Space each app is on, terminal directory and env vars, plus your custom hotkeys and folders.

Click Open Profile later, and the whole state replays in seconds.

Window Arrangements That Survive Different Screens

Saving exact window coordinates works on the same Mac. Move between a 13-inch MacBook and a 27-inch external monitor and a window saved at (100, 200) width 1200 runs off the edge.

ShiftPlus handles this with a window arrangement enum: pick Left Half, Right Half, Top Half, Bottom Half, Fullscreen, or Centered instead of raw pixels. The placement is recomputed on whatever screen you're using.

Window arrangement picker showing layout options

A code editor pinned to Left Half and a terminal to Right Half works on a MacBook screen and on a 4K external display. The intent travels.

Virtual Desktop (Spaces) Restoration

Most workspace tools ignore Spaces because Apple doesn't expose a public API for managing them. ShiftPlus is one of the few that handles them.

Pin specific apps to specific Spaces inside ShiftPlus, save the profile. On restore, ShiftPlus walks through each Space, launches the apps that belong there, then returns to your primary Space. Apps land on the right desktop without manual dragging.

Pinning an app to a specific Space

A typical setup:

  • Space 1: code editor, terminal, dev server
  • Space 2: design tools, reference browser
  • Space 3: Slack, email, calendar

Two limitations to flag: Spaces restoration is incompatible with Stage Manager, and turning off "Automatically rearrange Spaces" in System Settings produces the most reliable behavior. If apps are already running on the wrong Space when you restore, ShiftPlus asks before doing anything disruptive.

iCloud Sync Across Multiple Macs

Sign into the same iCloud account on each Mac, toggle sync on, and your workspaces appear on the other machine within seconds.

iCloud sync settings showing the toggle and status

The interesting design choice is what doesn't sync: window pixel coordinates and monitor identifiers stay local. A position that makes sense on a 4K iMac is meaningless on a 1080p MacBook. ShiftPlus syncs your intent (which apps belong in this workspace, which Space, what arrangement) and lets each Mac compute the actual pixels.

Capture a workspace on your iMac, switch to your MacBook, the workspace is ready.


Setting It Up

  1. Arrange the workspace. Open the apps, switch each browser to the right profile, place windows where you want them.
  2. Capture. Menu bar → Capture Current Setup → name it.
  3. Pin apps to Spaces (optional). Click the Space picker pill on each app.
  4. Set window arrangements (optional). Pick Left Half, Fullscreen, etc., from the dropdown.
  5. Assign a hotkey. Each workspace can have its own keyboard shortcut.
  6. Enable iCloud sync (if you have multiple Macs). Settings → iCloud → toggle on.

After setup, switching contexts is one keystroke.


Real-World Examples

Deep Work. Code editor and terminal on Space 1 (Left/Right split), reference browser on Space 2 (Fullscreen). No Slack, no email.

Client Project. Client's Google Workspace profile in Chrome, VS Code with their repo, terminal with the right AWS profile, Slack pointed at their channel. All on Space 1.

Personal. Safari with personal tabs, Messages, Spotify, Photos. Used to switch out of work mode at the end of the day.

Multi-Mac Developer. The same Deep Work profile, captured once on the iMac, synced through iCloud to a MacBook. Each Mac recomputes the actual frames for its own screen.


Closing

Rebuilding your workspace by hand is one of those productivity drains that's easy to underestimate because each instance is small. The aggregate cost is real, and the cognitive cost of the rebuild is bigger than the clock time alone.

A capture-and-restore workflow turns it into a single keystroke. If your work spans browser profiles, virtual desktops, and multiple Macs, the time it saves is more than the time it costs to learn.

If you'd like to try this approach, ShiftPlus is available here.

Top comments (0)