vmux
Shell

Built-in Shell (vsh)

Local shell commands for managing vmux without an SSH connection.

Experimental — vsh is under active development. Commands, syntax, and behavior may change between releases.

Overview

vsh is vmux's built-in shell. It runs locally on your device and provides commands for managing connections, panes, themes, and settings without needing a remote session.

Activating vsh

  • No active session -- type commands directly at the prompt when no SSH or Mosh session is connected.
  • During a session -- prefix any command with ! to run it through vsh instead of the remote shell. For example, !theme-list lists available themes while you're connected to a server.

Tab completion is available for command names and arguments.

Command Reference

Builtins

CommandAliasesDescription
help?Show available commands. Pass a command name for details (help ssh).
clearclsClear the terminal screen.
echoPrint text to the terminal.
dateShow the current date and time.
envShow environment info (terminal size, CWD, variables).

Connection

CommandAliasesDescription
sshConnect to a remote host via SSH. Usage: ssh [user@]host [-p port] [-l user]
moshConnect to a remote host via Mosh. Usage: mosh [user@]host [-p ssh-port] [--udp port-or-range] [--predict mode] [--family mode]
connectOpen the connection form UI.
disconnectdcDisconnect the current remote session.
mosh-statusmosh-doctorShow Mosh runtime status, resolved paths, and recommended connect settings.

File

CommandAliasesDescription
lsList files in a directory. Defaults to the current working directory.
catDisplay the contents of a file.
pwdPrint the current working directory.

Pane Management

CommandAliasesDescription
split-vvsplitSplit the current pane vertically.
split-hhsplitSplit the current pane horizontally.
split-leftlsplitSplit to the left.
split-upusplitSplit upward.
split-autoasplitSplit automatically based on available space.
focus-leftpane-leftMove focus to the pane on the left.
focus-rightpane-rightMove focus to the pane on the right.
focus-uppane-upMove focus to the pane above.
focus-downpane-downMove focus to the pane below.
resize-leftsplit-resize-leftResize the current split leftward.
resize-rightsplit-resize-rightResize the current split rightward.
resize-upsplit-resize-upResize the current split upward.
resize-downsplit-resize-downResize the current split downward.
split-equalizeequalize-splitsEqualize all split sizes.
split-maxpane-max, toggle-maxToggle maximize on the current split.
pane-listpanesList all open panes, highlighting the current one.
pane-nextSwitch to the next pane.
pane-prevSwitch to the previous pane.
pane-newnewOpen a new window (clones the current profile).
pane-closeclose-pane, closeClose the current pane.

Settings

CommandAliasesDescription
set-glassglassToggle glass background. Values: on, off, toggle.
set-glass-styleSet glass style variant (Regular, Clear).
set-crtcrtToggle CRT screen effect. Values: on, off, toggle.
set-opacityopacitySet background opacity (0.0 -- 1.0).
set-font-sizefont-sizeSet font size in points (8 -- 32).
set-option-metaoption-metaToggle Option key as Meta/Alt. Values: on, off, toggle.
set-colortermcolortermToggle sending COLORTERM=truecolor to remote hosts. Values: on, off, toggle.
set-font-weightfont-weightSet font weight (Regular, Bold).
set-cursor-stylecursor-styleSet cursor shape (Block, Hollow Block, Underline, Bar).
set-cursor-blinkcursor-blinkToggle cursor blinking. Values: on, off, toggle.
zoom-inIncrease font size by 1 pt.
zoom-outDecrease font size by 1 pt.
zoom-resetReset font size to default.

System

CommandAliasesDescription
openOpen a URL in the system browser.
pb-copyCopy text to the system clipboard.
pb-pasteShow the current clipboard contents.

Theme and Font

CommandAliasesDescription
theme-listthemesList all available themes, marking the active one.
theme-setthemeSet the terminal theme by name. Supports fuzzy matching.
font-listfontsList all available fonts, marking the active one.
font-setfontSet the terminal font by name. Supports fuzzy matching.

UI

CommandAliasesDescription
keyboardkbOpen the VKeyboard window.
settingsprefsOpen the settings panel.
toolbarToggle the bottom toolbar.
system-uiToggle visionOS window controls (grab handle, close button).

Running Settings Commands Without Arguments

Settings commands that accept values also work without arguments -- they print the current value instead. For example:

  • set-opacity prints the current opacity.
  • set-font-size prints the current font size.
  • set-glass prints whether glass is on or off.