← blog blog / ghostty-panes-vs-tmux.md

Ghostty Panes vs tmux Panes - When to Use Which

Ghostty has splits now. tmux has had them forever. Here's when I reach for each - and why I still use both.

Ghostty Panes vs tmux Panes - When to Use Which

Ghostty has splits now. tmux has had them forever. So which do you use when?

If you’re already running both (Ghostty as the terminal, tmux inside it), this question comes up faster than you’d think. I caught myself using Ghostty splits for some things and tmux panes for others, and after a while the pattern got clear enough to write down.

A Quick Feature Comparison

FeatureGhostty panestmux panes
Session persistenceNoYes
Remote SSH accessNoYes
Scriptable layoutsNoYes
Visual customizationNative OS renderingLimited
Mouse supportNativeNeeds config
Copy-pasteNative clipboardtmux buffer (annoying)
Startup speedInstantInstant
Works inside SSHNoYes

The copy-paste thing is the most underrated entry in that table. Ghostty panes share the OS clipboard. tmux panes make you learn prefix + [, enter copy-mode, visually select, y, then paste with prefix + ]. Once you’ve internalized it it’s fine, but it’s never not friction.

When I Use Ghostty Panes

Quick visual splits. I want to watch a log file while running a command next to it. I’m not going to come back to this layout - it’s a one-off. Cmd+D to split, done in two seconds, closed when I’m done.

Demoing something. Screen-sharing or recording? Ghostty splits look clean with no tmux status bar, no box-drawing chars, just crisp splits with native font rendering. Easier to explain to someone who doesn’t know tmux.

Side-by-side file inspection. Two files, quick diff, close both. Not worth spinning up a tmux session for.

The keybinds in my Ghostty config are minimal by design - I didn’t add anything for splits because the defaults work:

# Ghostty defaults - no config needed
# Cmd+D          new split (right)
# Cmd+Shift+D    new split (down)
# Cmd+Option+←→  navigate between splits

When I Use tmux Panes

Anything I need to come back to. My dev environment lives in a tmux session. Detach it, close Ghostty, reopen - it’s all still there. Ghostty panes evaporate when the window closes. This is the single biggest reason tmux still wins for real work.

Remote SSH sessions. You can’t split a Ghostty window across machines. tmux runs on the remote host and your splits, windows, and running processes persist even when your connection drops.

Scripted layouts. I have a small script that opens a 3-pane layout for a specific project - server, tests, git status. That’s a tmux thing. You can’t script Ghostty splits.

# tmux layout for a project
tmux new-session -d -s dev
tmux split-window -h -p 40
tmux split-window -v
tmux send-keys -t dev:0.0 'bun run dev' Enter
tmux send-keys -t dev:0.1 'bun run test --watch' Enter
tmux attach -t dev

Anything over SSH. Just use tmux. There’s no debate here.

So, Both?

Yeah, both. I run Ghostty with one window, usually no splits. Inside it lives a tmux session for real work. When I need a quick scratch split outside of tmux, I use Ghostty’s native splits and don’t think twice about it.

The mistake is trying to pick one and commit. They solve different problems - Ghostty splits are UI sugar, tmux panes are infrastructure. Use them accordingly.

Thanks for reading!

I write about frontend craft, React, TypeScript, and the web. Found this useful? Let me know.

@samuellawrentz →

$ echo "enjoyed this post?" · subscribe via rss ↗

$ git log --oneline --grep="ghostty"

More articles

cd ../blog →
  1. f7307fc Ghostty + tmux - The Productivity Setup I Actually Use

    Mar 17, 2026 3 min read tag: ghosttytag: tmux

    Ghostty + tmux - The Productivity Setup I Actually Use
  2. 3a0ba73 Ghostty AppleScript: Auto-Build Your Project Terminal Layout on Startup

    Apr 14, 2026 4 min read tag: ghosttytag: terminal

    Ghostty AppleScript: Auto-Build Your Project Terminal Layout on Startup
  3. e6db796 The 2026 Mac Terminal Setup: Ghostty + Starship + Catppuccin

    Mar 28, 2026 2 min read tag: ghosttytag: terminal

    The 2026 Mac Terminal Setup: Ghostty + Starship + Catppuccin
  4. 7f036c6 Ghostty 1.3 — Scrollback Search and My Updated Config

    Mar 16, 2026 3 min read tag: ghosttytag: terminal

    Ghostty 1.3 — Scrollback Search and My Updated Config

$ giscus --load ./comments

00:00

This helps me increase the session time of my site. Thank you!

Can you stay a bit longer?