relay-ttydocs
Reference

Keyboard Shortcuts

CLI

ShortcutAction
Ctrl+]Detach from session (session keeps running)

TUI picker (relay or relay tui)

Sessions are grouped by working directory, as in the web sidebar. Rows are either a directory header or a session.

KeyAction
/ or j/kMove between rows
or hOn a session, go to its directory; on an open directory, fold it
or lOn a folded directory, unfold it; on an open one, go to its first session
SpaceFold or unfold the selected directory
zFold every directory, or unfold all when all are folded
1-9Select session N (the numbers shown in the list)
EnterAttach to the selected session, or fold/unfold a directory
cNew shell in the selected directory, then attach
CRun a command in the selected directory, then attach. Plain commands are split into words; anything with shell syntax (&&, pipes, $VAR, globs) runs through your shell
sSort menu: r recent, a active, c created, n name. Picking the current sort flips its direction
fFilter menu: toggle r running and c closed sessions
,Rename selected session (Ctrl+U clears the field, Esc cancels)
xStop selected session
rRefresh session list
g / GJump to top / bottom
q or EscQuit
MouseClick a directory to fold it, click a session to select it, click the selected session to attach, wheel to move

Sort, filter, and folded directories are saved in ~/.relay-tty/tui.json and restored the next time the TUI opens.

TUI attached (prefix key, default Ctrl+B)

While attached, every key goes to the program except the prefix. Change the prefix with prefix = C-a in ~/.config/relay-tty/relayrc. Mouse events pass through to the program.

KeyAction
Ctrl+B n / pNext / previous running session in picker order, including sessions in folded directories
Ctrl+B 1-9Jump to session N (the numbers the picker shows)
Ctrl+B cNew shell session in the current session's directory, then switch to it
Ctrl+B ,Rename the current session (pins the title)
Ctrl+B s or EscBack to the picker
Ctrl+B dDetach and quit the TUI (session keeps running)
Ctrl+B xInterrupt the foreground process (SIGINT)
Ctrl+B kClear scrollback
Ctrl+B aActions menu: interrupt, clear, rename, stop session
Ctrl+B ?Show this key list on the status row
Ctrl+B Ctrl+BSend a literal Ctrl+B to the program

Web UI — All Views

ShortcutAction
Cmd+Shift+N (macOS) / Ctrl+Shift+NCreate new session in current project directory

Web UI — Session View

ShortcutAction
Standard terminal shortcutsPassed through to the remote shell
Shift+EnterInsert newline without submitting (for programs like Claude Code that support extended key reporting)
Cmd+K (macOS) / Ctrl+Shift+KClear scrollback buffer
Ctrl+Shift+FToggle terminal search
Cmd+= / Cmd+-Increase/decrease font size
Pinch-to-zoomIncrease/decrease font size (touch devices)

Clearing the scrollback resets both the on-screen buffer and the server-side ring buffer for the session, so the reported output size drops back toward zero and the cleared scrollback stays cleared across reconnects and other connected devices. The delta-resume offset is preserved, so reconnecting clients still recover instantly.

Font size changes send SIGWINCH — the terminal columns and rows adjust to fit the viewport at the new font size. Scroll position is preserved.

Web UI — Grid & Lanes Views

ShortcutAction
Click sidebar sessionSelect that session's cell without leaving the view
Double-click sidebar sessionSelect and zoom that session's cell (same as double-clicking the cell)
Click cellSelect cell for keyboard input
Double-click cellZoom/expand cell
Cmd+= / Cmd+-Increase/decrease font size of selected cell
Pinch-to-zoomIncrease/decrease font size (touch devices)
EscapeUnzoom, then deselect

Picking a session in the sidebar reveals it in the view you are already in rather than navigating to the single-session page. In Grid and Lanes it unzooms whatever cell was zoomed and selects the picked session's cell; in Tiles it focuses that session's pane, opening one beside the focused pane if none is showing it. Double-clicking a sidebar session additionally zooms the cell in Grid and Lanes, replacing any cell that was already zoomed; in Tiles a double-click behaves like a single click. If a project, recency, or inactive filter was hiding the session, only the filter responsible for hiding it is relaxed, so the rest of your filtering survives.

Font size is saved per session and shared across all views (grid, lanes, and single-session). Every font size change sends SIGWINCH to recompute terminal dimensions — the container stays fixed while columns and rows adjust to fit the new cell size.

Mobile toolbar

The mobile toolbar provides button equivalents for common actions:

ButtonAction
Keyboard iconOpen/close scratchpad
Search iconOpen terminal search
Microphone iconStart voice input
Folder iconOpen file browser
Share iconOpen share dialog

On this page