Keyboard and the command palette
Three entry points cover everything: Ctrl+Shift+Enter for a terminal at the Project root, Ctrl+Shift+P for the command palette, and Ctrl+Shift+Space as a leader key that puts all 214 commands behind one chord and tells you what to press next.
The flat defaults
Everything below is on Ctrl+Shift, which is what every terminal emulator claims for itself, because bare Ctrl+letter belongs to the shell running inside the pane. On macOS the same set is mirrored onto Cmd+Shift; both work.
| Chord | Command |
|---|---|
| Ctrl+Shift+Enter | New terminal in the current Project |
| Ctrl+Shift+P, or F1 | Open the command palette |
| Ctrl+Shift+Space | The leader key (see below) |
| Ctrl+Shift+\ | Split the focused pane right |
| Ctrl+Shift+- | Split the focused pane below |
| Ctrl+Shift+Arrows | Focus the pane in that direction |
| Ctrl+Shift+Z | Toggle focused pane zoom |
| Ctrl+Shift+X | Close the focused pane |
| Ctrl+Shift+[ and ] | Previous and next tab in the focused pane |
| Ctrl+Shift+F | Find in the focused terminal |
| Ctrl+Shift+L | Toggle the side panel |
| Ctrl+Shift+E / G / U / K | Side panel: files, Git, queue, transcript |
| Ctrl+Shift+S | Toggle the Projects sidebar |
| Ctrl+Shift+H | Browse session history |
| Ctrl+Shift+, | Open Settings |
| Ctrl+Shift+1 .. 9 | Activate the first nine Projects, in sidebar order |
| Ctrl+Tab, Ctrl+Shift+Tab | Next and previous tab (desktop app only) |
The leader key reaches everything else
Press Ctrl+Shift+Space and an overlay names what the next keystroke can be, grouped one letter per area: p panes, s sessions, w Projects, v views, n notes, t terminal, g Git, d the side panel, f focus, and a few more. So a new terminal is leader, s, n; the pane to the left is leader, p, h. Escape cancels.
A leader is not decoration. Every keystroke after it is a plain keypress that no browser and no window manager competes for, so one reservation buys the whole tree where a flat map would need one per command.
Presets, if you already know another tool
Settings, Input, Keyboard preset. Five ship: swe-mux, tmux, VS Code, Vim-flavoured, and Emacs. Each adds its own prefix and its own letters, and each also keeps the swe-mux leader tree, so choosing one never removes the route to a command that tool has no opinion about. You can pick one during first-time setup too.
swe-mux is an outer shell, so any chord it claims is claimed from whatever runs inside a pane. The tmux preset takes Ctrl+B from a tmux running in a pane; Vim's takes Ctrl+W. Each preset says so before you choose it, and each can be rebound afterwards.
Rebinding
Settings, Input, Keyboard shortcuts. A binding is one to three chords; only the first needs Ctrl, Alt or Meta (or a function key), because everything after it is read while the shortcut is already armed. Shift alone is refused, because it shadows typing.
Chords name the physical key rather than the character your layout produces, so a shortcut means the same key on QWERTY, AZERTY and Dvorak. Overrides are stored in keybindings.json in the data directory, and a binding for a command that was later renamed is migrated forward rather than dropped.
Why not Ctrl+Alt
Because on most non-US keyboards AltGr produces exactly Ctrl+Alt. swe-mux used to default to that namespace, which meant a German, French, Polish, Spanish or Nordic user fired application shortcuts while typing ordinary characters. No shipped preset uses it, and choosing one yourself is allowed but says so.
What the terminal, the browser and your desktop keep
swe-mux deliberately does not intercept the chords a shell or a TUI needs. Ctrl+C, Ctrl+D, Ctrl+R, Ctrl+L and their neighbours reach the process, which is why the application's own chords are on Ctrl+Shift rather than bare Ctrl.
Two other layers get there first, and Settings names both. A browser tab keeps Ctrl+T, Ctrl+W and a handful more for itself, while the desktop app hands them to swe-mux - so a shortcut can be live in one and absent in the other, and the editor says which. Your window manager takes more still: on GNOME and KDE, Ctrl+Alt+arrows switch workspace and Ctrl+Alt+T opens a terminal.
The list of chords a browser keeps is a guess about your browser, and browsers disagree. Settings, Input has a short test that measures it on the browser you are actually using, and the measurement overrides the guess. A chord you never test stays untested rather than being recorded as blocked.
Mobile gestures
The same command registry is bindable to touch gestures in Settings, Input, Touch gestures. Three defaults are worth knowing:
| Gesture | Command |
|---|---|
| Two-finger swipe up | Open the current Project's notes |
| Two-finger swipe down | Read and select mode, which also lowers a keyboard being held up outside a terminal |
| Swipe up on the command rail | Toggle the swe-mux menu |
| Horizontal swipe on the top bar | Step through Projects, in sidebar order |
Voice reaches the same registry
Spoken commands resolve through voice aliases on the ordinary command registry rather than through a parallel list, which is what keeps a command reachable by chord, palette, gesture, and voice without four definitions of it. Voice covers what is deliberately excluded from the spoken set.