Why Cmd-Tab brings all of an app's windows to the front on Mac (and how to raise just one)
You have a Safari window on the left and a Notes window on the right,
and somewhere behind them sit four other Safari windows you opened this
morning. You press ⌘⇥ to get back to Safari — and Cmd-Tab brings all
of Safari's windows to the front, piling five browser windows over the
note you were reading from. It isn't a bug, and it isn't a setting you
missed. It's how macOS defines switching to an app, and once you see
the rule it's easy to work around.
Why Cmd-Tab brings all windows to the front on a Mac
macOS has two different ways of bringing something forward, and they behave differently:
- Activating an app — with
⌘⇥or by clicking its Dock icon — brings every open window of that app above everything else. John Gruber put it plainly years ago: switch to an app via Cmd-Tab or the Dock, and all its windows come forward. - Clicking a window brings forward only that window. Its sibling windows stay wherever they were in the stack.
This split is a leftover from the move to Mac OS X. In classic Mac OS,
clicking any window of an app raised the whole app as a group. Mac OS X
changed clicks to raise a single window, but kept app activation as the
"bring the whole app" gesture. So ⌘⇥, which only knows about apps,
does the only thing an app switcher can do: it raises the app.
Here's what each gesture actually brings forward:
| What you do | What comes to the front |
|---|---|
⌘⇥ to an app | Every open window of that app |
| Click the app's Dock icon | Every open window of that app (or a new window if it has none) |
| Click one of its windows | Only that window |
| Pick a window in Mission Control or App Exposé | Only that window |
| Window → Bring All to Front | Every window of the app you're in |
⌘ + ` inside the app | The next window of that app, one at a time |
Minimized windows are the exception: they stay in the Dock whichever
way you activate the app, because they've left ⌘⇥ entirely. That's a
separate problem with its own fixes.
How to bring just one window forward
If what you want is one window of an app on top and everything else left alone, you need a gesture that targets a window rather than an app. macOS has a few.
Click it (if you can see it)
The simplest: if any corner of the window is visible, click it. Only that window comes forward. The catch is obvious — it needs the mouse, and the window you want is often the one that's buried.
Use Mission Control or App Exposé
Press ⌃↑ for Mission Control (every window, spread out) or ⌃↓ for
App Exposé (just the current app's windows), then click the one you
want. Only that window is raised. It's reliable, but it's a three-step
detour — open the overview, scan it, click — and it still ends with the
mouse. We cover the whole overview toolkit in
how to see all open windows on a Mac.
Pick it from the Window menu
Once the app is in front, its Window menu lists every open window by name. Choosing one raises that window. It's the most precise built-in option when windows have useful titles, and the Window menu guide covers how to reach it from the keyboard.
Cycle with Command-backtick
⌘ + ` steps through the current app's windows one at a time. It
only works after you're already in the app, so the usual sequence is
⌘⇥ (which raises everything) and then ⌘ + ` to the right one —
which fixes which window has focus, but not the pile you just created.
More on that in
switching between windows of the same app.
Hide what you don't need
If the problem is clutter rather than order, ⌥⌘H hides every app
except the one you're in, and ⌘H hides the current app. Hidden apps
come back with all their windows when you ⌘⇥ to them, so this suits
"clear the desk" moments more than quick back-and-forth.
When you actually want all the windows
Some people want the opposite: click one window, get the whole app. Two options:
- Window → Bring All to Front. Raises every window of the current app. Hold Option and it becomes Arrange in Front, which also cascades them so every title bar is readable.
- Front and Center, a small Mac App Store utility by John Siracusa and Lee Fyock ($4.99 at the time of writing). Its Classic mode makes clicking any window raise all of that app's windows, its Modern mode keeps Apple's behaviour, and Shift-click gives you the opposite of whichever mode you picked. If classic Mac OS layering is what your hands expect, it's the honest recommendation.
Switch to a window, not an app
The root of the problem is that ⌘⇥ is an app switcher. Every
workaround above is a second step bolted on after it. The cleaner fix is
to switch at the window level in the first place — then there's no
"whole app" to raise.
That's what Let's Switch is built for. Hold ⌥⇥ and you get
a live preview of every open window across your apps and monitors,
most recently used first. Let go on the one you want and Switch
raises that window — the Safari window you were reading, not all five
Safari windows. The window you were just in is always one tap away, so
flipping between the note and the browser becomes ⌥⇥, release,
⌥⇥, release.
A few details worth knowing:
⌥+`cycles just the current app's windows, the window-level version of Command-backtick.⌘⇥is left alone, so app switching still works the way it always has when that's what you want.- The switcher, previews and
⌥+`are free, permanently. Pro ($9.99, once — no subscription, no account, up to 20 devices per key) adds a⌥Spacesearch palette for when you have too many windows to flip through. - No telemetry, and it lives in the menu bar with no Dock icon.
To be fair to the alternatives: AltTab is
free and open source and does window-level switching with thumbnails
too, with far more settings. Switch is the newer, deliberately minimal
take — sensible defaults you don't have to configure. Either one beats
fighting ⌘⇥ into raising one window.
Frequently asked questions
Can I make Cmd-Tab bring only one window to the front?
Not with a built-in setting. ⌘⇥ switches apps, and activating an app
raises all of its windows. To raise one window you need a window-level
gesture: a click, Mission Control, the Window menu, or a window
switcher like Let's Switch.
Why does clicking the Dock icon bring every window forward?
For the same reason as ⌘⇥: clicking a Dock icon activates the app,
and activation raises all its windows. If the app has no windows open,
it usually opens a new one instead.
Why does clicking a window only bring that window forward? That's been macOS's rule since Mac OS X replaced classic Mac OS, which raised the whole app on any click. Utilities like Front and Center can restore the old behaviour if you prefer it.
Why don't minimized windows come back with Cmd-Tab?
Minimized windows drop out of ⌘⇥'s view of the app. Click them in the
Dock, or see how to restore a minimized window
for keyboard routes. If ⌘⇥ itself seems broken, start with
Cmd-Tab not working on Mac.