How to Make a Mac App Always Open on a Specific Monitor
Use the Dock's Assign To option to pin an app to one display, and save a layout to put every app on its own monitor when the native route falls short.
To make a Mac app open on a specific monitor, open the app, drag its window onto that display, then right-click its Dock icon and choose Options → Assign To → This Desktop. This only works when Displays have separate Spaces is on (System Settings → Desktop & Dock → Mission Control), because macOS ties the assignment to that display's Space. It's a decent free fix for one or two apps; if you want a whole set of apps to land on the right screens every time, save them as a layout in Layoutish.
Why does a Mac app open on the wrong monitor?
macOS has no setting that says "Slack lives on display 2". When you launch an app, the window usually reappears wherever it was last, or on whichever display is active at that moment. Each app also decides some of this for itself, and many save their own window position.
That's why things go wrong after you unplug a monitor. macOS pulls every window onto the remaining screen, and when the monitor comes back nothing sends the windows home. The same thing happens after some sleep and wake cycles. I cover that side of it in Mac Window Layout Keeps Resetting?.
How do I assign an app to a specific monitor with the Dock?
This is the built-in route, and it's free. First, check the prerequisite:
- Open System Settings → Desktop & Dock and scroll to Mission Control.
- Turn on Displays have separate Spaces. Changing it needs a log out and back in.
- While you're there, turn off Automatically rearrange Spaces based on most recent use. If it stays on, macOS shuffles your Spaces around and the assignment drifts.
Then, for each app:
- Launch the app and drag its window onto the monitor you want.
- Make sure that monitor is showing the Space (desktop) you want the app tied to.
- Right-click the app's Dock icon and choose Options → Assign To → This Desktop.
From then on, the app opens on that Space, and so on that display. If you choose All Desktops instead, the app's windows follow you to every Space, which is a different thing and rarely what you want for this.
The limits are worth knowing before you set up ten apps:
- The assignment belongs to a Space, not to the monitor itself. If a display is disconnected or Spaces get reordered, the app falls back to wherever macOS decides.
- It controls which display the app opens on, not the window's size or exact position.
- The app has to have a Dock icon while it's running for the menu to appear, so it's awkward for menu-bar-only apps.
Can I move a window to another monitor from the keyboard?
Not with a system-wide shortcut. You can drag the window by its title bar. In many apps on macOS 15 and later, the Window menu also has a Move to entry listing your displays, though it depends on the app and on which windows it exposes.
If you move windows between screens all day, a window manager with a "send to next display" shortcut is the quickest fix, and free ones exist. That only moves the window you're looking at, though. It won't open or arrange anything for you.
Why does the app still ignore my monitor setting?
A few usual suspects:
- Full-screen apps get their own Space, so the Space you assigned isn't the one they open into.
- Apps that restore their own window frame can override where macOS wants to put them. Browsers and chat apps with several windows are the typical offenders.
- The display wasn't connected at launch. If the monitor was asleep or unplugged, macOS opens the app on what's available and doesn't move it back later.
- Spaces were reordered, which is why that Mission Control setting above matters.
If you've ticked all of those and an app is still stubborn, you're really asking for something macOS doesn't do: remember a whole arrangement and restore it on demand.
How do I get every app on the right monitor each time?
That's the job a saved layout does. In Layoutish you arrange your windows once, across all displays, and save the result. Applying it later puts each window back on its saved display. Apps that aren't running are launched first, and the app handles ones that fight back, including Electron, Qt and GPU-rendered apps, through the accessibility interface.
The parts that matter for monitor placement:
- Quick Switcher (⌘⇧L) or a global hotkey applies a layout in one keypress. A layout hotkey needs ⌘ or ⌃ (or a function key on its own), because macOS 15 refuses ⌥-only shortcuts.
- Display profiles recognise monitors by name and resolution, so a "docked" layout applies when your displays really change, not on every wake.
- Per-monitor saving and applying lets you restore only the external screen and leave the laptop display alone.
- Scheduling applies a layout at set times and days. The walkthrough is in How to Automatically Apply Window Layouts on Mac at Specific Times.
To be precise about what it is: Layoutish applies a layout when you trigger it, when a schedule fires or when your displays change. It isn't a rule that intercepts every single launch of an app. For most desks that's enough, since you tend to want the whole arrangement back at once. The most common reason I hear for buying it is docking and undocking a laptop scattering windows every time.
Setup is short. Layoutish needs macOS 13.5 (Ventura) or later and the Device Control and Data Access permission (called Accessibility before macOS 27) so it can move windows. It never asks for Screen Recording. It costs $9.99 once after a 7-day free trial with no card, and you don't need a subscription for updates. If you run three screens, Mac Three Monitor Setup: Window Management Guide has more on laying them out.
Common questions
Does macOS remember which monitor an app was on?
Sometimes. Many apps reopen where their window last was, but that falls apart when a display is disconnected or asleep at launch. The Dock's Assign To option is the only built-in way to nudge it, and it's tied to a Space rather than the monitor.
How do I move a window to another monitor on Mac?
Drag it by the title bar, or try the Window menu, where many apps on macOS 15 and later offer a Move to option for each display. There's no system-wide keyboard shortcut for it.
Why is Assign To missing from the Dock menu?
The app needs a Dock icon while it's running, so menu-bar-only apps won't show it. It also does little if Displays have separate Spaces is off. Turn that on in System Settings → Desktop & Dock → Mission Control, then log out and back in.