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.
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.
- 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 | Aliases | Description |
|---|
help | ? | Show available commands. Pass a command name for details (help ssh). |
clear | cls | Clear the terminal screen. |
echo | | Print text to the terminal. |
date | | Show the current date and time. |
env | | Show environment info (terminal size, CWD, variables). |
| Command | Aliases | Description |
|---|
ssh | | Connect to a remote host via SSH. Usage: ssh [user@]host [-p port] [-l user] |
mosh | | Connect to a remote host via Mosh. Usage: mosh [user@]host [-p ssh-port] [--udp port-or-range] [--predict mode] [--family mode] |
connect | | Open the connection form UI. |
disconnect | dc | Disconnect the current remote session. |
mosh-status | mosh-doctor | Show Mosh runtime status, resolved paths, and recommended connect settings. |
| Command | Aliases | Description |
|---|
ls | | List files in a directory. Defaults to the current working directory. |
cat | | Display the contents of a file. |
pwd | | Print the current working directory. |
| Command | Aliases | Description |
|---|
split-v | vsplit | Split the current pane vertically. |
split-h | hsplit | Split the current pane horizontally. |
split-left | lsplit | Split to the left. |
split-up | usplit | Split upward. |
split-auto | asplit | Split automatically based on available space. |
focus-left | pane-left | Move focus to the pane on the left. |
focus-right | pane-right | Move focus to the pane on the right. |
focus-up | pane-up | Move focus to the pane above. |
focus-down | pane-down | Move focus to the pane below. |
resize-left | split-resize-left | Resize the current split leftward. |
resize-right | split-resize-right | Resize the current split rightward. |
resize-up | split-resize-up | Resize the current split upward. |
resize-down | split-resize-down | Resize the current split downward. |
split-equalize | equalize-splits | Equalize all split sizes. |
split-max | pane-max, toggle-max | Toggle maximize on the current split. |
pane-list | panes | List all open panes, highlighting the current one. |
pane-next | | Switch to the next pane. |
pane-prev | | Switch to the previous pane. |
pane-new | new | Open a new window (clones the current profile). |
pane-close | close-pane, close | Close the current pane. |
| Command | Aliases | Description |
|---|
set-glass | glass | Toggle glass background. Values: on, off, toggle. |
set-glass-style | | Set glass style variant (Regular, Clear). |
set-crt | crt | Toggle CRT screen effect. Values: on, off, toggle. |
set-opacity | opacity | Set background opacity (0.0 -- 1.0). |
set-font-size | font-size | Set font size in points (8 -- 32). |
set-option-meta | option-meta | Toggle Option key as Meta/Alt. Values: on, off, toggle. |
set-colorterm | colorterm | Toggle sending COLORTERM=truecolor to remote hosts. Values: on, off, toggle. |
set-font-weight | font-weight | Set font weight (Regular, Bold). |
set-cursor-style | cursor-style | Set cursor shape (Block, Hollow Block, Underline, Bar). |
set-cursor-blink | cursor-blink | Toggle cursor blinking. Values: on, off, toggle. |
zoom-in | | Increase font size by 1 pt. |
zoom-out | | Decrease font size by 1 pt. |
zoom-reset | | Reset font size to default. |
| Command | Aliases | Description |
|---|
open | | Open a URL in the system browser. |
pb-copy | | Copy text to the system clipboard. |
pb-paste | | Show the current clipboard contents. |
| Command | Aliases | Description |
|---|
theme-list | themes | List all available themes, marking the active one. |
theme-set | theme | Set the terminal theme by name. Supports fuzzy matching. |
font-list | fonts | List all available fonts, marking the active one. |
font-set | font | Set the terminal font by name. Supports fuzzy matching. |
| Command | Aliases | Description |
|---|
keyboard | kb | Open the VKeyboard window. |
settings | prefs | Open the settings panel. |
toolbar | | Toggle the bottom toolbar. |
system-ui | | Toggle visionOS window controls (grab handle, close button). |
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.