Cross-Platform

One cross-platform terminal. Linux, Windows and BSD.

The same shortcuts work identically on Linux and Windows, and the FreeBSD and NetBSD builds share them. No mental context-switching, no muscle-memory retraining when you switch machines. macOS is in progress.

Windows

quirks resolved

One clipboard, one pair of keys

Ctrl+Shift+C copies, Ctrl+Shift+V pastes — the same two shortcuts on every platform, so nothing to relearn when you switch machines. Alt+key still passes straight through to the shell, so an AI CLI running in the pane keeps its own bindings.

The prompt's directory, tracked correctly

Under ConPTY, Windows reports the wrong working directory for a running shell. CPT asks the shell to report its own over OSC 7 and follows the chain only through shells — so the Git-for-Windows launcher hop still resolves, but a helper an AI CLI spawns cannot drag your pane off to C:\Windows. When nothing arrives, the whole chain is recorded in diagnostics.

Ctrl+C interrupts

Windows hands a shell an “ignore Ctrl+C” flag it then passes to everything it starts, so the key reached the program and did nothing. CPT clears it before spawning the shell — Ctrl+C stops a running command instead of waiting it out.

Any shell you want

Name the shell in Settings → Terminal — powershell.exe, pwsh, cmd.exe, bash, or wsl.exe. PowerShell and Git bash are both instrumented for directory reporting out of the box; the choice applies to new terminals.

No console window

Built with the Windows GUI subsystem. No flashing black console window on launch, no separate terminal hiding behind your workspace.

Linux

quirks resolved

AppImage works on modern distros

Modern Fedora and Ubuntu ship FUSE 3 only, which breaks standard AppImages. Cross Platform Terminal ships with the type2 runtime that supports both FUSE 2 and FUSE 3 - it just runs.

Atomic updates

The in-app updater replaces the binary atomically via rename(2) while the app is running. The next launch picks up the new binary - no package manager, no sudo.

Shell from $SHELL

New terminals inherit $SHELL automatically. Override it per-session in Settings → Terminal → Shell, or leave it unset and it follows your environment.

See the full shortcut table
ActionShortcut
Terminal
New terminalA new pane by default, or a tab beside the current one — Settings → TerminalCtrl+Shift+T
Close terminalCtrl+Shift+W
Fullscreen the paneCtrl+Shift+F
Copy selectionCtrl+Shift+C
PasteCtrl+Shift+V
Zoom in / outCtrl+Shift+= / −
Switch tab within a paneCtrl+1…9
Answer “still running — close anyway?”Keep running, end the session, or cancel — read only while that dialog is upK / E / Esc
Panes
Focus left / rightCtrl+Alt+Home / End
Focus up / downCtrl+Alt+PgUp / PgDn
Focus pane 1…9Positional — the Nth pane in the active viewCtrl+Alt+1…9
Move left / rightCtrl+Shift+Alt+Home / End
Move up / downCtrl+Shift+Alt+PgUp / PgDn
Shrink / grow widthCtrl+Shift+Alt+[ / ;
Shrink / grow heightCtrl+Shift+Alt+] / '
Pin size and positionA pinned pane keeps its size when the layout is redistributedCtrl+Shift+Alt+P
Edge rails
Focus docked widget 1…9Slots run left, right, then bottom. Pressing the slot a widget already has collapses its dock againCtrl+Shift+Alt+1…9
Cycle docked widgetsCtrl+Shift+Alt+Tab / `
Views
New viewAlt+T
Rename viewAlt+R
Jump to view 1…9Alt+1…9
Previous / next viewAlt+Home / End
Redistribute layoutCtrl+Shift+Alt+L
Agents
Jump to the next agent waiting on youSwitches views and opens docks as needed. Clicking the “waiting” count in the status bar does the sameAlt+A
AI Inventory
Collapse or expand a groupS A C H M I
Jump to a groupCtrl + that letter
Focus the filterF
All rebindable in Settings → Keyboard Shortcuts or shortcuts.json