The Terminal Switcher
You already live in a terminal — Windows Terminal, iTerm2, or a tmux session that never dies. This page maps what you already know onto TermFlow, and tells you honestly where things differ.
TermFlow is a real, everyday terminal emulator (Tauri 2 + React + xterm.js). Tabs, splits, profiles, search, and zoom all work the way you expect. The twist is that everything you can do by hand, an AI agent can also do over a local API — but you can ignore that entirely and just use it as a terminal.
Most of your habits carry over. The two surprises up front: there is no Ctrl+T for a new tab (it's intentionally unbound — use the + button), and there is no command palette (the working "find everything" key is Ctrl+F for in-terminal search). Everything else is close to what you'd guess.
What maps to what
| You're used to… | In TermFlow |
|---|---|
New tab (Ctrl+T / Cmd+T) | Click + or the profile dropdown ▼ (no Ctrl+T binding) |
| Next / previous tab | Ctrl+Tab / Ctrl+Shift+Tab |
| Jump to tab N | Ctrl/Cmd+1 … Ctrl/Cmd+9 |
| Close tab | Ctrl/Cmd+W, the ×, middle-click, or right-click menu |
| Split pane | Ctrl+Shift+D (splits right), or pane-header buttons / context menu |
| Close pane | Ctrl+Shift+W |
| Zoom / focus one pane | Ctrl+Shift+Enter (maximize / restore) |
| Find in buffer | Ctrl/Cmd+F |
| Copy / paste | Ctrl+Shift+C / Ctrl+Shift+V |
| Zoom text | Ctrl/Cmd + = / - / 0, or Ctrl/Cmd + wheel |
| iTerm2 profiles / WT profiles | Shell Profiles (system-detected, editable) |
| tmux for pane layout & reflow | Native splits; tmux is available as a reflow backend, not a keybinding layer |
| New OS window | Drag a tab/pane out, or Cmd+N (macOS native menu) |
Tabs
Tabs behave like a modern tabbed terminal, with a few extras:
- Create: the
+button, or the profile dropdown▼to pick which shell profile the new tab uses. - Select:
Ctrl/Cmd+1..9, or cycle withCtrl+Tab/Ctrl+Shift+Tab. - Close:
Ctrl/Cmd+W, the×, middle-click, or the right-click menu — which offers Close, Close to Right, Close to Left, and Close Others (mnemonics C / R / L / O). - Reorder: drag a tab with the pointer.
- Rename: double-click the tab title.
- Color: right-click to set a per-tab color scheme and tab-title color.
Closing a tab that still has real work running shows a smart confirmation that lists the actual foreground processes it found. Tabs whose shell exited cleanly close without nagging you. Tabs also carry status indicators: a running style, a 🔔 bell, a ● external-activity dot, and a ⊘ marker when the shell has exited.
Split panes
Splits are a recursive binary tree — you can keep splitting a pane, and each half can split again, in any combination.
- Split:
Ctrl+Shift+Dsplits the current pane to the right (a "horizontal" split). For a bottom ("vertical") split, use the pane-header buttons or the right-click context menu. - Resize: drag the divider between panes (constrained to a 10–90% range).
- Maximize / restore:
Ctrl+Shift+Enterblows one pane up to fill the tab and back again — handy when atopor a build log needs the whole screen for a moment. - Close:
Ctrl+Shift+W(with the same smart confirmation as tabs). - Inherited CWD: a new pane starts in the live working directory of the pane it split from, not the profile's start directory.
New panes always start in the current working directory of the pane they came from.
Drag-to-split (iTerm2 users will like this)
Grab a pane and drag it over another pane. TermFlow reads where you drop:
- Drop into the outer 30% of an edge → the target splits on that side and your pane lands there.
- Drop into the center → the two panes swap positions.
This works within a tab, across tabs, and across windows. Press Esc mid-drag to cancel. If a pane's session ends, a banner offers Restart or Dismiss (Ctrl+R restarts while it's visible).
Tear-off windows
Drag a tab or a pane out of the window and it becomes a new OS window with the live PTY handed over — the process is moved, not respawned, so your running command keeps going. You can also right-click → Move to New Window, and drop a window's tab/pane back onto another window to reattach. On macOS, Cmd+N opens a fresh window from the native menu.
+-----------------------------------------------------------+
| TermFlow _ □ x |
+--------+--------+--------+--------------------------------+
| dev ● | logs | build ⊘| + ▼ |
+--------+--------+--------+--------------------------------+
| | |
| pane: $ vim app.ts | pane: $ npm run dev |
| | |
| +--------------------------------+
| | pane: $ tail -f server.log |
| | |
+--------------------------+--------------------------------+
See Split panes and Windows & tear-off for the full behavior.
Profiles
TermFlow detects the shells on your system and turns them into editable profiles. When you open a tab, you pick a profile; the default one wears a badge.
A profile carries a name, an executable path, launch arguments, environment variables, an optional start directory, and an icon. In Settings → Shell Profiles you set the default profile and a per-profile Start In Directory. If you're coming from Windows Terminal's profiles.json or iTerm2's profile list, this is the same idea with a smaller surface. Details are in Shell profiles.
Search
Ctrl/Cmd+F opens an incremental search overlay over the terminal buffer:
- An N-of-M match counter updates as you type.
- Three toggles:
Aa(case-sensitive),ab(whole word),.*(regex). Enter/Shift+Enterjump to next / previous match;Esccloses.
This is scrollback search inside one terminal — the working "find" in TermFlow. There is no cross-session command-history palette in the UI. More at Search.
The tmux backend
If you reach for tmux mainly for reflow on resize — keeping wrapped output tidy when you change the window size — TermFlow can back a terminal with tmux to get that behavior (with a WSL fallback path on Windows). GET /api/system/tmux-status reports whether tmux is available on the host.
An honest note: the tmux backend is a rendering/reflow mechanism, not a tmux keybinding layer. TermFlow does not expose the tmux prefix key, tmux sessions, or tmux's own copy mode — pane management and splits are TermFlow's, using the shortcuts on this page. If you love
Ctrl+B-driven workflows, you'll manage layout the TermFlow way here. See tmux backend.
Clipboard, links, and zoom
- Clipboard: native copy/paste.
Ctrl+Shift+Ccopies,Ctrl+Shift+Vpastes. On Windows and Linux there's an optional SmartCtrl+C: when text is selected it copies instead of sendingSIGINT, but pressing it 3× within 2 seconds forces a realSIGINTthrough. Copy-on-select is not implemented — you copy explicitly. - Links & file paths: modifier-click opens URLs in your browser and file paths (including
:line:col) in your configured editor or the OS default; relative paths resolve against the pane's CWD. - Zoom:
Ctrl/Cmd + = / - / 0andCtrl/Cmd + wheelzoom one pane at a time — never the global font size, and native page zoom is blocked. Set the base font size (effective range 8–32) in Appearance settings.
Keyboard shortcuts reference
| Action | Shortcut |
|---|---|
| Close tab | Ctrl/Cmd+W |
| Next / previous tab | Ctrl+Tab / Ctrl+Shift+Tab |
| Select tab 1–9 | Ctrl/Cmd+1..9 |
| Split pane (right) | Ctrl+Shift+D |
| Close pane | Ctrl+Shift+W |
| Maximize / restore pane | Ctrl+Shift+Enter |
| Restart a closed session | Ctrl+R (while the banner shows) |
| Find in terminal | Ctrl/Cmd+F |
| Copy / paste | Ctrl+Shift+C / Ctrl+Shift+V |
| Paste | Ctrl+V |
| SIGINT / smart-copy | Ctrl+C |
| Clear | Ctrl+Shift+X |
| Zoom pane | Ctrl/Cmd + = / - / 0, Ctrl/Cmd + wheel |
| Soft newline (no submit) | Shift+Enter |
| Settings | Ctrl/Cmd+, |
| Fullscreen | F11 |
| New window (macOS) | Cmd+N |
Ctrl+T is unbound by design (use +). Alt+Arrow pane navigation and a command palette do not exist — don't wire your fingers to expect them. On Windows and Linux the shortcuts come from TermFlow's own handler rather than an OS menu, so they're consistent across platforms.
The full, current list lives in Keyboard shortcuts settings.
The one thing that's genuinely new
Everything above is manual, and you can stop there. But TermFlow also exposes these same actions — open a terminal, split, run a command, read output — over a local API and a built-in MCP server, so an AI coding agent can drive the terminal alongside you. You bring your own agent and keys; TermFlow ships no AI of its own. If that sounds interesting, How agents drive the terminal is the place to start. If not, none of it gets in your way.
Next steps
- Split panes — the full pane model, drag-to-split, and resize behavior.
- Keyboard shortcuts — the complete, verified binding list.