← All articles

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 doWhat comes to the front
⌘⇥ to an appEvery open window of that app
Click the app's Dock iconEvery open window of that app (or a new window if it has none)
Click one of its windowsOnly that window
Pick a window in Mission Control or App ExposéOnly that window
Window → Bring All to FrontEvery window of the app you're in
⌘ + ` inside the appThe 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 ⌥Space search 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.