macOS Terminal.app cannot split panes — it only does tabs and windows. To see two
shells side by side on a Mac you have four options: use iTerm2 (⌘D for a vertical
split, ⌘⇧D for horizontal), use tmux, switch to a pane-native terminal app, or fall
back on separate windows. This guide covers all four, in order of least effort.
Why split a terminal at all?
A split exists to remove an alt-tab. Watch a dev server and run tests at the same time, tail logs next to the command that produced them, keep a database session visible while you edit a query. Tabs hide context, and windows overlap — a split keeps both things on screen, so you stop re-checking what you already had.
The trade-off is screen space. Two panes are almost always worth it on a laptop; past three or four, a saved layout matters more than the split gesture itself.
Method 1: Terminal.app (tabs only)
The built-in terminal has no split-pane feature at any version of recent macOS. What it does have:
⌘T— new tab⌘N— new window⌘⇧[/⌘⇧]— move between tabs
Two windows side by side is the honest workaround, and macOS window tiling (drag a window to a screen edge, or use Window → Tile Window to Left/Right of Screen) now makes it tolerable. It is still two independent windows: they do not remember each other, and there is no shared workspace concept.
Method 2: iTerm2 (built-in split panes)
iTerm2 is free, open source, and the most common upgrade from Terminal.app. Splitting is built in:
- Open iTerm2 and press
⌘Dto split the current pane into left and right halves. - Press
⌘⇧Dinstead to split the current pane into top and bottom halves. - Move focus between panes with
⌘[and⌘]. - Resize by dragging the divider between panes.
- Close a pane with
⌘W.
Splits nest, so ⌘D then ⌘⇧D gives you three panes. iTerm2 also has
profiles, search, and optional tmux integration if you later want your sessions to survive a
disconnect.
Method 3: tmux (splitting that travels)
tmux is a terminal multiplexer: it runs inside any terminal and gives you panes, windows, and detachable sessions. It is the only option here that survives closing your laptop or dropping an SSH connection.
- Install it:
brew install tmux - Start a session: run
tmux - Split left/right:
⌃Bthen% - Split top/bottom:
⌃Bthen" - Move between panes:
⌃Bthen an arrow key - Zoom a pane to fill the window:
⌃Bthenz - Detach:
⌃Bthend. Reattach later withtmux attach
The cost is a prefix key on every command and a config file (~/.tmux.conf) before it
feels like yours. The payoff is that the same setup works on any server you SSH into.
Method 4: pane-native terminal apps
A newer category of macOS terminals treats panes as the primary unit instead of bolting them on. LayoutCLI is one of these: you choose a layout (2 columns, 2 rows, 3 columns, or a 2×2 grid), and each pane is a real shell.
- Install and open the app.
- Pick a layout preset — or build a custom one by mixing rows and columns.
- Split the focused pane again with
⌘⇧D. - Move focus with
⌘⇧[and⌘⇧], or switch layouts with⌘⇧L.
The useful part is that rearranging does not restart anything: processes keep running when you change layout, which is what you want during a long build. See how the layout system works.
Which method should you use?
| Method | Split panes? | Survives disconnect | Works over SSH | Effort |
|---|---|---|---|---|
| Terminal.app + tiling | No (two windows) | No | n/a | None |
| iTerm2 | Yes, built in | No (needs tmux) | n/a | Low |
| tmux | Yes, keyboard-driven | Yes | Yes | Medium |
| Pane-native app (LayoutCLI) | Yes, layout presets | Saved local sessions | n/a | Low |
The rule we would give a friend: if you work on remote machines, learn tmux — it is the only thing that keeps a session alive when your connection dies. If you work locally all day, a pane-native or split-capable app will save you more time, because you skip the prefix key on every single action.
Common questions
Can I split the terminal on a Mac without installing anything?
Not into panes. Terminal.app ships with tabs and windows only, so the closest built-in option is two tiled windows.
What is the iTerm2 split shortcut?
⌘D splits vertically (left/right) and ⌘⇧D splits horizontally
(top/bottom). Navigate with ⌘[ and ⌘].
How do I split the terminal in VS Code?
VS Code's integrated terminal splits with ⌘\, and ⌘⇧\ moves focus
between terminals. It is convenient, but it is an editor pane rather than a general-purpose
terminal.
Do split panes slow the terminal down?
Only if each pane is a separate heavyweight process. Real pane implementations share one rendering surface; in LayoutCLI, panes are separate PTY shells but the app uses one centralized stats sampler and off-thread ANSI parsing, so adding a pane does not multiply the overhead.
Try it
Download LayoutCLI, open the 2-column layout, and put your build on one side and your shell on the other. It is free to try, and Pro raises the ceiling to 64 panes with saved layouts. If you would rather stay on defaults, the workspace guide shows how to organise panes once you have them.