Command-line help#
Generated by scripts/gen-cli-help-reference.sh; do not edit by hand.
The mpmux-cli reference explains the commands with examples.
mpmux#
Usage:
mpmux [--config <path>] [--pie-menus <path>] [--write-default-config <path>] [--write-default-pie-menus <path>] [--cwd <dir>] [--command <program> [args...]]
mpmux [--config <path>] [--write-default-config <path>] [--cwd <dir>] -- <program> [args...]
mpmux --help
mpmux --version
Options:
--config <path> Load mpmux runtime config from a TOML file
--pie-menus <path> Load static pie menu definitions from a JSON file
--write-default-config <path> Write a default mpmux TOML config file and exit
--write-default-pie-menus <path> Write default static pie menu JSON and exit
--cwd <dir> Launch the shell or child command in the given directory
--command <program> [args...] Run the given program inside mpmux instead of the default shell
--container [name] Start/connect to a Podman mpmux-sessiond container and reuse/create a same-named session
--container-lan Bind the container on 0.0.0.0 with sessiond auth enabled for trusted LAN pairing
--container-iroh Enable relay-only Iroh exposure for the container backend
--container-iroh-relay-url <url> Override the Iroh relay URL (default relay.mightypainting.dev)
--container-iroh-key <path> Override the host-stored sessiond Iroh key path
--container-bind <address> Override the container host bind address (default 127.0.0.1)
--sessiond-endpoint <host:port> Connect to an existing sessiond TCP endpoint
--sessiond-tcp <host:port> Alias for --sessiond-endpoint
--sessiond-socket <path> Connect to an existing local sessiond Unix socket
--sessiond-iroh <target> Connect to an existing sessiond Iroh endpoint/invite
--session <id> Attach a specific hosted session
--create-session Create and attach a new hosted session
--session-label <label> Label for --create-session
--session-client-name <name> Client name shown in sessiond attachment state
--sessiond-device-id <id> Paired device id for auth-enabled sessiond
--sessiond-device-token-file <path> File containing the paired device token
--sessiond-admin-token-file <path> Admin token file for management/pairing flows
--help Show this help text
Default config lookup:
$XDG_CONFIG_HOME/mpmux/config.toml
~/.config/mpmux/config.toml
Config example (the defaults; --write-default-config writes them):
[terminal]
scrollback-lines = 100000
inline-image-display-scale = 1.0
inline-image-preview-enabled = true
[host-ui]
verbose-level = 0
enable-host-shortcuts = true
show-tab-bar = true
mouse-scroll-multiplier-precision = 3.0
mouse-scroll-multiplier-discrete = 3.0
mouse-scroll-invert = false
max-pane-nesting-level = 4
pane-maximize-animation-secs = 0.5
dialog-scale = 1.0
dialog-vertical-margin-fraction = 0.08
toast-font-size = 16.0
toast-placement = "center"
show-active-pane-border = true
active-pane-border-color = "#9edfff33"
active-pane-border-width = 1.0
active-pane-tint-color = "#00000000"
inactive-pane-dim-color = "#08111d"
inactive-pane-dim-opacity = 0.3
status-message-duration-secs = 5.0
message-history-limit = 32
message-sidebar-default-open = false
show-status-bar-messages = true
always-show-status-bar = false
scroll-map = false
mpmux-keyboard-height-portrait-ratio = 0.33
mpmux-keyboard-height-landscape-ratio = 0.33
dock-position = "right"
[keybindings]
command-palette = "ctrl-shift-p"
toggle-message-sidebar = "ctrl-shift-f12"
new-tab = "ctrl-shift-t"
toggle-pane-maximize = "ctrl-shift-return"
split-pane-right = "ctrl-shift-o"
split-pane-down = "ctrl-shift-e"
focus-split-left = "ctrl-alt-left"
focus-split-right = "ctrl-alt-right"
focus-split-up = "ctrl-alt-up"
focus-split-down = "ctrl-alt-down"
toggle-overview = "ctrl-alt-o"
jump-to-previous-prompt = "ctrl-shift-pageup"
jump-to-next-prompt = "ctrl-shift-pagedown"
[overview]
max-zoom = 12.0
layout-mode = "auto"
[voice]
engine = "auto"
language = "auto"
keywords = [
"mpmux",
"git",
"cargo",
"clippy",
"rustfmt",
"tmux",
"ssh",
"sudo",
"grep",
"npm",
"Claude",
"Makepad",
]
pane-keywords = true
save-recordings = false
final-pass = "auto"
Examples:
mpmux --write-default-config ~/.config/mpmux/config.toml
mpmux --config ~/.config/mpmux/config.toml
mpmux --cwd ~/src
mpmux --command cat
mpmux --command python3 -q
mpmux -- yazi
Environment-based startup smoke/debug toggles:
MPMUX_TERMINAL_PI_IMAGE_DELAYED_SMOKE=1 Startup-only late pi-style image repro
MPMUX_TERMINAL_PI_IMAGE_INTERLEAVE_SMOKE=1 Startup-only richer pi text/image interleave repro
MPMUX_TERMINAL_PI_IMAGE_MULTI_INTERLEAVE_SMOKE=1 Startup-only multi-image late-placement interleave repro
MPMUX_TERMINAL_PI_IMAGE_SMOKE=1 Startup-only exact pi-tui renderImage() Kitty path
MPMUX_TERMINAL_KITTY_SMOKE=1 Startup-only Kitty graphics smoke reference card
MPMUX_TERMINAL_INPUT_PLAYBACK=<name> Legacy startup playback hook (prefer `mpmux-cli run-playback <name>`)
mpmux-sessiond#
mpmux-sessiond [--version] [--socket PATH|--tcp HOST:PORT] [--tcp-allow-non-loopback] [--auth-store PATH] [--admin-token-file PATH] [--iroh-listen] [--iroh-relay-url URL] [--iroh-key PATH] [--iroh-allow-direct] [--json] [serve|ping|status|metadata|list-sessions|create-session|attach-session|detach-session|delete-session|snapshot-session|send-session-text|resize-session] [session-id]
Default command: serve
Examples:
mpmux-sessiond serve
mpmux-sessiond --tcp 127.0.0.1:4075 serve
mpmux-sessiond --tcp 0.0.0.0:4075 --tcp-allow-non-loopback serve
mpmux-sessiond --auth-store /tmp/mpmux-auth.json --iroh-listen --iroh-key /tmp/mpmux-sessiond.key serve
mpmux-sessiond ping
mpmux-sessiond status --json
mpmux-sessiond list-sessions
mpmux-sessiond create-session --label 'dev shell'
mpmux-sessiond rename-session session-1 'build logs'
mpmux-sessiond attach-session session-1 --client-name desktop
mpmux-sessiond detach-session session-1
mpmux-sessiond delete-session session-1
mpmux-sessiond snapshot-session session-1 --json
mpmux-sessiond send-session-text session-1 --text 'printf hello\n'
mpmux-sessiond resize-session session-1 120 40 --cell-width-px 12 --cell-height-px 22
mpmux-cli#
Command-line interface for the mpmux host-control socket
Usage: mpmux-cli [OPTIONS] <COMMAND>
Commands:
version Show the versions of mpmux-cli, the installed mpmux and mpmux-sessiond, and the running app and session host
run-monitor Show an agent's run in mpmux: plan, progress, approvals (see `run-monitor --help`)
media Show images, tables and documents in mpmux's Viewer (see `media --help`)
agents The agent integrations that come with mpmux: install them into Claude Code and Pi
todos-sidebar Show this project's todos in the mpmux sidebar (needs Node 22.18 or newer)
session Talk to the detachable-session headless host control plane
pair Create easy one-time pairing offers with safe defaults
service Run the session host as a user service (systemd on Linux, launchd on macOS)
tui Open the optional terminal session manager TUI
status Show current runtime status
metadata Show stable host-control metadata
env Print shell exports for the selected host-control endpoint
attach Register an explicit host-control client identity
detach Detach an explicit host-control client identity
acquire-control Acquire the active controller lease for an attached controller client
release-control Release the active controller lease held by the current controller client
heartbeat Refresh attached-client liveness and keep a controller lease from expiring
subscribe Subscribe an attached client to host-control events
unsubscribe Remove host-control event subscriptions from an attached client
poll-events Drain queued subscribed host-control events for an attached client
wait-for-events Block until at least one subscribed host-control event is available for an attached client
transfer-control Transfer the active controller lease to another attached controller client
show-control-state Show attached host-control clients and current control-owner placeholder state
has-session Return success only when the running app has an active session
show-ui-state Show structured command palette / picker / dialog overlay state
show-hot-reload-bridge Show Makepad `--hot` bridge state for the generated UI script mirror
sync-hot-reload-bridge Regenerate the watched UI script mirror used by Makepad `--hot`
reload-config Reload mpmux runtime config from the original config lookup path
set-verbose-level Set the current runtime verbose level without restarting
list-buffers List app-owned host buffers known to the running app
list-clients List clients known to the running app
list-panes List panes known to the running app
new-tab Create a new tab in the running app; `-- PROGRAM ARGS…` runs a program in it instead of the shell
split-pane Split the current window into a second pane; `-- PROGRAM ARGS…` runs a program in it instead of the shell (`-- nvim notes.md`) [alias: split-window]
select-tab Select the active tab by tab id
select-pane Select the active pane by pane id
resize-pane Resize a pane toward one edge by a number of cells
kill-pane Close a pane by pane id, or the active pane when omitted
list-windows List windows known to the running app
list-sessions List sessions known to the running app
clear-history Clear pane history/scrollback in the running app
reset-terminal Reset a pane's terminal like Ghostty's Reset (--clear: Clear Screen)
show-options Show current app/global options
show-window-options Show current window-oriented options
show-hooks Show configured hooks
show-prompt-history Show prompt history
show-buffer Show the current app-owned host buffer contents
set-buffer Replace the current app-owned host buffer contents
copy-to-clipboard Copy text to the app/system clipboard and app-owned host buffer
delete-buffer Clear the current app-owned host buffer contents
show-environment Show an allowlisted environment snapshot from the running app
load-buffer Load the app-owned host buffer from a file
save-buffer Save the current app-owned host buffer to a file
paste-buffer Paste the current app-owned host buffer into the terminal
send-keys Send tmux-style key/text items through the host app
show-messages Show retained host/app message history
display-message Show a host/app message in mpmux UI surfaces
display-dialog Show a centered modal dialog in mpmux UI surfaces
set-custom-dialog-field Update one active custom dialog field through the typed host-control surface
invoke-custom-dialog-action Invoke one active custom dialog footer action through the typed host-control surface
open-command-palette Open the command palette through the typed host-control surface
set-command-palette-query Set the command palette query text through the typed host-control surface
move-command-palette-selection Move the command palette selection by a row delta
confirm-command-palette-selection Confirm the current command palette selection
dismiss-command-palette Dismiss the active command palette overlay
open-pie-menu Open the overlay pie menu through host control
pie-menu Discover and control pie menus through host control
extension Discover and control runtime extension overlays through host control
activate-pie-menu-direction Activate a pie menu direction by name, clock hour (1.5h), or degrees (45)
move-picker-selection Move the active picker selection by a row delta
confirm-picker-selection Confirm the current picker selection
dismiss-overlay Dismiss a typed overlay
dismiss-dialog Dismiss the active mpmux dialog overlay
toggle-message-sidebar Toggle the host message sidebar in mpmux UI
set-message-sidebar-width Set the host message sidebar width in pixels through the splitter path
set-message-sidebar-position Move the dock (message and custom sidebars) to a window edge; saved
set-custom-sidebar-filter Set a custom sidebar's filter query (the one with the keys, or --sidebar-id)
move-custom-sidebar-selection Move a custom sidebar's selection by a row delta
invoke-custom-sidebar-selection Invoke a custom sidebar's selection
invoke-custom-sidebar-action Press a button of a custom sidebar's actions section, by its id
clear-custom-sidebar Remove a custom sidebar [default: the one in the dock's main half]
set-dock-split Split the dock to show custom sidebar ID below what it shows; without an ID, join the halves again
set-app-time-override Override the app clock with an explicit virtual time in microseconds
clear-app-time-override Clear the explicit app clock override and return to wall-clock time
load-terminal-replay-session Load an indexed terminal JSONL replay session onto a pane for offline frame stepping
apply-terminal-replay-frame Apply one loaded terminal replay frame to a pane and update app virtual time
clear-terminal-replay-session Clear the loaded terminal replay session from a pane
start-terminal-segment-recording Begin recording the next terminal-output segment until an explicit checkpoint is reached
finish-terminal-segment-recording Finish the active terminal-output segment recording and return the captured payload
capture-pane Capture visible pane text from the current terminal viewport
capture-ui Capture composited host or pane UI as an image or video artifact
focus-terminal Focus the terminal overlay
send-text Send terminal text through the host app
send-key Send a logical key through the host app
run-playback Run a playback scenario inside mpmux
window-action Run a supported window action
scroll-viewport Scroll the terminal viewport by a terminal delta
select-cells Apply a visible cell selection
cleanup-processes Clean up tracked PTY processes from abandoned earlier runs
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
-V, --version Print version
mpmux-cli version#
Show the versions of mpmux-cli, the installed mpmux and mpmux-sessiond, and the running app and session host
Usage: mpmux-cli version [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor#
Show an agent's run in mpmux: plan, progress, approvals (see `run-monitor --help`)
Usage: mpmux-cli run-monitor [OPTIONS] <COMMAND>
Commands:
start Start a run: show the sidebar with its title (replaces an older run)
plan Set the plan: one step per argument (keeps the status of steps that stay)
step Set a step's status, by number (1 is the first) or title
note Say what is happening now (the summary's "Now" line)
ask Ask the person to approve something and wait for the answer
check Report the result of the sidebar's buttons since the last check
finish Finish the run (the sidebar stays until cleared or a new run)
clear Remove the sidebar and forget the run
status Print the run as JSON
hook Act as a Claude Code hook: read the hook's JSON from stdin
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor start#
Start a run: show the sidebar with its title (replaces an older run)
Usage: mpmux-cli run-monitor start [OPTIONS] <TITLE>
Arguments:
<TITLE> What the run is for, e.g. the task
Options:
--agent <AGENT> Who runs it, shown in the sidebar's header [default: Agent]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--no-watch Do not start the background watcher for the sidebar's buttons
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor plan#
Set the plan: one step per argument (keeps the status of steps that stay)
Usage: mpmux-cli run-monitor plan [OPTIONS] <STEPS>...
Arguments:
<STEPS>...
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor step#
Set a step's status, by number (1 is the first) or title
Usage: mpmux-cli run-monitor step [OPTIONS] <STEP> <STATUS>
Arguments:
<STEP>
<STATUS> [possible values: pending, running, waiting, done, failed, skipped]
Options:
--detail <DETAIL> A second line, e.g. the command the step runs
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--progress <PROGRESS> 0..=100 for a progress bar under the step
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor note#
Say what is happening now (the summary's "Now" line)
Usage: mpmux-cli run-monitor note [OPTIONS] <TEXT>
Arguments:
<TEXT>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor ask#
Ask the person to approve something and wait for the answer
Usage: mpmux-cli run-monitor ask [OPTIONS] <TITLE>
Arguments:
<TITLE> The question, e.g. "Push to origin?"
Options:
--detail <DETAIL> Lines that show what would happen (a command in `backticks`)
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--warning <WARNING> A warning above the details
--approve-label <APPROVE_LABEL> [default: Approve]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--deny-label <DENY_LABEL> [default: Deny]
--json Output full response JSON
--timeout <TIMEOUT> Give up after this many seconds (counts as dismissed)
-h, --help Print help
mpmux-cli run-monitor check#
Report the result of the sidebar's buttons since the last check
Usage: mpmux-cli run-monitor check [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor finish#
Finish the run (the sidebar stays until cleared or a new run)
Usage: mpmux-cli run-monitor finish [OPTIONS] [SUMMARY]
Arguments:
[SUMMARY] One line about the result
Options:
--failed
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor clear#
Remove the sidebar and forget the run
Usage: mpmux-cli run-monitor clear [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor status#
Print the run as JSON
Usage: mpmux-cli run-monitor status [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli run-monitor hook#
Act as a Claude Code hook: read the hook's JSON from stdin
Usage: mpmux-cli run-monitor hook [OPTIONS]
Options:
--approve <APPROVE> Also ask before a Bash command containing this text (repeatable)
--socket <SOCKET> Path to the mpmux host-control socket
--approve-all-bash Ask before every Bash command
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--agent <AGENT> The agent's name in the sidebar (the Pi extension passes Pi) [default: Claude]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--agent-reports-plan The agent has no task list the hooks can read and reports its plan with `run-monitor plan`/`step` (Pi)
--json Output full response JSON
-h, --help Print help
mpmux-cli media#
Show images, tables and documents in mpmux's Viewer (see `media --help`)
Usage: mpmux-cli media [OPTIONS] <COMMAND>
Commands:
show Show a file in the Viewer (`-` reads standard input; a folder is a page: its index.html with the folder's other files; a Markdown or HTML file brings the files it links to; an http(s):// address is a web link, the page itself)
demo Show sample objects: a chart, a table, a document and an interactive page (written to DIR, default a temporary folder)
list List the Viewer's objects
console Print what a page in the Viewer wrote to its console (console.log, errors), oldest first: object ID, or the one shown. The page runs only while the Viewer shows it, so this shows it (the desktop web engine or the Android WebView)
close Remove an object from the Viewer (the one it shows without an id)
clear Remove every object from the Viewer
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli media show#
Show a file in the Viewer (`-` reads standard input; a folder is a page: its index.html with the folder's other files; a Markdown or HTML file brings the files it links to; an http(s):// address is a web link, the page itself)
Usage: mpmux-cli media show [OPTIONS] <PATH>
Arguments:
<PATH>
Options:
--socket <SOCKET>
Path to the mpmux host-control socket
--title <TITLE>
The title in the Viewer (default: the file name)
--host-control-tcp <HOST:PORT>
TCP endpoint for the mpmux host-control bridge, as host:port
--type <MEDIA_TYPE>
The media type, e.g. image/png, text/markdown, text/csv (default: from the file extension)
--client-id <CLIENT_ID>
Optional stable host-control client id attached to requests
--id <ID>
The object's id, for links and updates (default: from the file name)
--background
Add the object without opening the Viewer on it
--json
Output full response JSON
--no-link
Do not print the media link
--thumbnail <THUMBNAIL>
Draw a PNG as a thumbnail above the link: in an mpmux terminal (auto), always, or never [default: auto] [possible values: auto, always, never]
--thumbnail-rows <THUMBNAIL_ROWS>
The thumbnail's height in terminal rows [default: 8]
-h, --help
Print help
mpmux-cli media demo#
Show sample objects: a chart, a table, a document and an interactive page (written to DIR, default a temporary folder)
Usage: mpmux-cli media demo [OPTIONS]
Options:
--dir <DIR>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli media list#
List the Viewer's objects
Usage: mpmux-cli media list [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli media console#
Print what a page in the Viewer wrote to its console (console.log, errors), oldest first: object ID, or the one shown. The page runs only while the Viewer shows it, so this shows it (the desktop web engine or the Android WebView)
Usage: mpmux-cli media console [OPTIONS] [ID]
Arguments:
[ID]
Options:
--clear Empty the page's console after printing it
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--wait <SECONDS> Wait up to this many seconds for the page to finish loading [default: 5]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--settle <SECONDS> Then this many seconds more, for what the page's scripts log after it has loaded (fetches, timers, animation frames) [default: 1]
--json Output full response JSON
-h, --help Print help
mpmux-cli media close#
Remove an object from the Viewer (the one it shows without an id)
Usage: mpmux-cli media close [OPTIONS] [ID]
Arguments:
[ID]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli media clear#
Remove every object from the Viewer
Usage: mpmux-cli media clear [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli agents#
The agent integrations that come with mpmux: install them into Claude Code and Pi
Usage: mpmux-cli agents [OPTIONS] <COMMAND>
Commands:
status Show where the integrations are and what Claude Code and Pi have of them
install Register them with Claude Code and Pi (both, where installed)
uninstall Remove them from Claude Code and Pi
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli agents status#
Show where the integrations are and what Claude Code and Pi have of them
Usage: mpmux-cli agents status [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli agents install#
Register them with Claude Code and Pi (both, where installed)
Usage: mpmux-cli agents install [OPTIONS] [HARNESS]
Arguments:
[HARNESS] Only this harness [possible values: claude, pi]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--with <WITH> Claude Code: also these plugins (the run monitor's hooks run on every tool call; prompt marks need the inline TUI) [possible values: run-monitor, prompt-marks]
--dry-run Print the commands without running them
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli agents uninstall#
Remove them from Claude Code and Pi
Usage: mpmux-cli agents uninstall [OPTIONS] [HARNESS]
Arguments:
[HARNESS] [possible values: claude, pi]
Options:
--dry-run
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli todos-sidebar#
Show this project's todos in the mpmux sidebar (needs Node 22.18 or newer)
Usage: mpmux-cli todos-sidebar [OPTIONS] [ARGS]...
Arguments:
[ARGS]... Passed to the sidebar: [filter | TODO-id] [--cwd DIR] [--pane PANE_ID] [--session-id ID] [--detach], or --clear [--cwd DIR]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session#
Talk to the detachable-session headless host control plane
Usage: mpmux-cli session [OPTIONS] <COMMAND>
Commands:
status Show current headless-host status
metadata Show stable headless-host metadata
list List local hosted sessions
create Create a new local hosted session record
rename Rename an existing hosted session
attach Mark a local session as interactively attached
detach Mark a local session as detached
takeover Atomically take over a hosted workspace
takeover-status Show workspace ownership, membership, and attachment state
snapshot Fetch the current terminal snapshot/state for a hosted session
send-text Send terminal text to a hosted session
send-key Send a logical key to a hosted session
resize Resize a hosted session terminal grid
pair Complete an Iroh pairing invite and optionally persist device credentials
create-qr-code Create a managed short-code pairing offer and render/save it as a QR code
help Print this message or the help of the given subcommand(s)
Options:
--sessiond-socket <SESSIOND_SOCKET>
Path to the mpmux-sessiond control socket
--socket <SOCKET>
Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT>
TCP endpoint for the mpmux host-control bridge, as host:port
--sessiond-tcp <HOST:PORT>
TCP endpoint for mpmux-sessiond, as host:port
--client-id <CLIENT_ID>
Optional stable host-control client id attached to requests
--sessiond-iroh <TARGET>
Iroh endpoint id, endpoint token, or pairing invite for mpmux-sessiond
--json
Output full response JSON
--sessiond-iroh-file <PATH>
File containing an Iroh endpoint id, endpoint token, endpoint JSON, or pairing invite
--sessiond-iroh-key <PATH>
Stable Iroh client key file. Defaults to ~/.config/mpmux/iroh/client.key when using Iroh
--sessiond-admin-token-file <PATH>
File containing an admin token for auth-enabled sessiond commands. Env fallback: MPMUX_SESSIOND_ADMIN_TOKEN_FILE or MPMUX_SESSIOND_ADMIN_TOKEN
--sessiond-device-id <DEVICE_ID>
Paired-device id for auth-enabled sessiond commands. Env fallback: MPMUX_SESSIOND_DEVICE_ID
--sessiond-device-token-file <PATH>
File containing a paired-device token for auth-enabled sessiond commands. Env fallback: MPMUX_SESSIOND_DEVICE_TOKEN_FILE or MPMUX_SESSIOND_DEVICE_TOKEN
-h, --help
Print help
mpmux-cli session status#
Show current headless-host status
Usage: mpmux-cli session status [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session metadata#
Show stable headless-host metadata
Usage: mpmux-cli session metadata [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session list#
List local hosted sessions
Usage: mpmux-cli session list [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session create#
Create a new local hosted session record
Usage: mpmux-cli session create [OPTIONS]
Options:
--label <LABEL>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session rename#
Rename an existing hosted session
Usage: mpmux-cli session rename [OPTIONS] <SESSION_ID> <LABEL>
Arguments:
<SESSION_ID>
<LABEL>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session attach#
Mark a local session as interactively attached
Usage: mpmux-cli session attach [OPTIONS] <SESSION_ID>
Arguments:
<SESSION_ID>
Options:
--client-name <CLIENT_NAME>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session detach#
Mark a local session as detached
Usage: mpmux-cli session detach [OPTIONS] <SESSION_ID>
Arguments:
<SESSION_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session takeover#
Atomically take over a hosted workspace
Uses the ownership revisions reported by `session takeover-status`. Reusing an operation id with different contents is refused.
Usage: mpmux-cli session takeover [OPTIONS] <WORKSPACE_ID>
Arguments:
<WORKSPACE_ID>
Options:
--expected-ownership-revision <EXPECTED_OWNERSHIP_REVISION>
[default: 0]
--socket <SOCKET>
Path to the mpmux host-control socket
--expected-membership-revision <EXPECTED_MEMBERSHIP_REVISION>
[default: 0]
--host-control-tcp <HOST:PORT>
TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID>
Optional stable host-control client id attached to requests
--device-id <DEVICE_ID>
Take over as a paired device instead of the local Unix principal
--json
Output full response JSON
--operation-id <OPERATION_ID>
Opaque operation id; generated when omitted
-h, --help
Print help (see a summary with '-h')
mpmux-cli session takeover-status#
Show workspace ownership, membership, and attachment state
Usage: mpmux-cli session takeover-status [OPTIONS] <WORKSPACE_ID>
Arguments:
<WORKSPACE_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session snapshot#
Fetch the current terminal snapshot/state for a hosted session
Usage: mpmux-cli session snapshot [OPTIONS] <SESSION_ID>
Arguments:
<SESSION_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session send-text#
Send terminal text to a hosted session
Usage: mpmux-cli session send-text [OPTIONS] <SESSION_ID> <TEXT>
Arguments:
<SESSION_ID>
<TEXT>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli session send-key#
Send a logical key to a hosted session
Usage: mpmux-cli session send-key [OPTIONS] <SESSION_ID> <KEY>
Arguments:
<SESSION_ID>
<KEY> Logical key name (for example: enter, escape, left, r, 1)
Options:
--shift
--socket <SOCKET> Path to the mpmux host-control socket
--ctrl
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--alt
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
--logo
-h, --help Print help
mpmux-cli session resize#
Resize a hosted session terminal grid
Usage: mpmux-cli session resize [OPTIONS] <SESSION_ID> <COLS> <ROWS>
Arguments:
<SESSION_ID>
<COLS>
<ROWS>
Options:
--cell-width-px <CELL_WIDTH_PX>
[default: 12]
--socket <SOCKET>
Path to the mpmux host-control socket
--cell-height-px <CELL_HEIGHT_PX>
[default: 22]
--host-control-tcp <HOST:PORT>
TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID>
Optional stable host-control client id attached to requests
--json
Output full response JSON
-h, --help
Print help
mpmux-cli session pair#
Complete an Iroh pairing invite and optionally persist device credentials
Usage: mpmux-cli session pair [OPTIONS]
Options:
--device-label <DEVICE_LABEL> Human-readable label for this client/device on the host [default: desktop]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--host-label <LABEL> Human-readable label for the paired host in local TUI discovery
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--save-dir <DIR> Directory that receives endpoint.target, device.id, device.token, and host.label. Defaults to ~/.config/mpmux/auth/<host-label-or-endpoint>-device
--json Output full response JSON
--no-save Complete pairing without saving credentials for future TUI reconnects
-h, --help Print help
mpmux-cli session create-qr-code#
Create a managed short-code pairing offer and render/save it as a QR code
Usage: mpmux-cli session create-qr-code [OPTIONS] [DEVICE_LABEL]
Arguments:
[DEVICE_LABEL] Label for the device expected to consume the generated one-time pairing invite
Options:
--device-label <DEVICE_LABEL> Label for the device expected to consume the generated one-time pairing invite
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--ttl-seconds <TTL_SECONDS> One-time offer lifetime in seconds [default: 300]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--relay <HOST:PORT|WS_URL> Override the managed short-code relay address or WebSocket URL
--json Output full response JSON
--relay-iroh-target <TARGET> Iroh endpoint target for an Iroh-native short-code rendezvous service
--output <PATH> File that receives the generated QR PNG. Refuses to overwrite existing files
-h, --help Print help
mpmux-cli pair#
Create easy one-time pairing offers with safe defaults
Usage: mpmux-cli pair [OPTIONS] <COMMAND>
Commands:
url Print a one-time pairing URL and copy it to the clipboard when possible
qr-code Render a QR code containing the one-time pairing URL
short-code Print a managed short-code pairing offer using the default Iroh rendezvous relay
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
Run these on the host. Its session host must run with device auth, which `mpmux-cli service install --remote` sets up; a plain `service install` or the packaged service cannot pair devices.
mpmux-cli pair url#
Print a one-time pairing URL and copy it to the clipboard when possible
Usage: mpmux-cli pair url [OPTIONS]
Options:
--device-label <DEVICE_LABEL> Label for the device expected to consume the generated one-time pairing invite [default: "Android mpmux"]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--ttl-seconds <TTL_SECONDS> One-time invite lifetime in seconds [default: 600]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--no-copy Do not try to copy the URL to the system clipboard
--json Output full response JSON
-h, --help Print help
mpmux-cli pair qr-code#
Render a QR code containing the one-time pairing URL
Usage: mpmux-cli pair qr-code [OPTIONS]
Options:
--device-label <DEVICE_LABEL> Label for the device expected to consume the generated one-time pairing invite [default: "Android mpmux"]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--ttl-seconds <TTL_SECONDS> One-time invite lifetime in seconds [default: 600]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--output <PATH> File that receives the generated QR PNG. Refuses to overwrite existing files
--json Output full response JSON
-h, --help Print help
mpmux-cli pair short-code#
Print a managed short-code pairing offer using the default Iroh rendezvous relay
Usage: mpmux-cli pair short-code [OPTIONS]
Options:
--device-label <DEVICE_LABEL> Label for the device expected to consume the generated one-time pairing invite [default: "Android mpmux"]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--ttl-seconds <TTL_SECONDS> One-time offer lifetime in seconds [default: 300]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--code-output-file <PATH> File that receives the full generated short code. Refuses to overwrite existing files
--json Output full response JSON
-h, --help Print help
mpmux-cli service#
Run the session host as a user service (systemd on Linux, launchd on macOS)
Usage: mpmux-cli service [OPTIONS] <COMMAND>
Commands:
install Install the session host as a user service and start it
uninstall Stop the service and remove it; its shells end, pairings stay
status Show whether the service is installed and running
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli service install#
Install the session host as a user service and start it
Usage: mpmux-cli service install [OPTIONS]
Options:
--remote Let paired devices connect over Iroh (device auth and an Iroh listener); `mpmux-cli pair` needs it
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--relay-url <URL> Iroh relay used with --remote [default: https://relay.mightypainting.dev]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--relay-only With --remote: connect through the relay only, never directly
--json Output full response JSON
--sessiond <PATH> mpmux-sessiond to run [default: next to mpmux-cli, else from PATH]
--restart Restart a running service to apply changed settings; its shells end
--dry-run Print the service file and commands without changing anything
-h, --help Print help
mpmux-cli service uninstall#
Stop the service and remove it; its shells end, pairings stay
Usage: mpmux-cli service uninstall [OPTIONS]
Options:
--dry-run Print what would be done without changing anything
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli service status#
Show whether the service is installed and running
Usage: mpmux-cli service status [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli tui#
Open the optional terminal session manager TUI
Usage: mpmux-cli tui [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli status#
Show current runtime status
Usage: mpmux-cli status [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli metadata#
Show stable host-control metadata
Usage: mpmux-cli metadata [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli env#
Print shell exports for the selected host-control endpoint
Usage: mpmux-cli env [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli attach#
Register an explicit host-control client identity
Usage: mpmux-cli attach [OPTIONS]
Options:
--name <NAME>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--role <ROLE> [default: controller] [possible values: observer, controller]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli detach#
Detach an explicit host-control client identity
Usage: mpmux-cli detach [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli acquire-control#
Acquire the active controller lease for an attached controller client
Usage: mpmux-cli acquire-control [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli release-control#
Release the active controller lease held by the current controller client
Usage: mpmux-cli release-control [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli heartbeat#
Refresh attached-client liveness and keep a controller lease from expiring
Usage: mpmux-cli heartbeat [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli subscribe#
Subscribe an attached client to host-control events
Usage: mpmux-cli subscribe [OPTIONS] [EVENTS]...
Arguments:
[EVENTS]... [possible values: control-owner-changed, ui-state-changed, dialog-state-changed, custom-sidebar-state-changed]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli unsubscribe#
Remove host-control event subscriptions from an attached client
Usage: mpmux-cli unsubscribe [OPTIONS] [EVENTS]...
Arguments:
[EVENTS]... [possible values: control-owner-changed, ui-state-changed, dialog-state-changed, custom-sidebar-state-changed]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli poll-events#
Drain queued subscribed host-control events for an attached client
Usage: mpmux-cli poll-events [OPTIONS]
Options:
--max-events <MAX_EVENTS>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli wait-for-events#
Block until at least one subscribed host-control event is available for an attached client
Usage: mpmux-cli wait-for-events [OPTIONS]
Options:
--max-events <MAX_EVENTS>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli transfer-control#
Transfer the active controller lease to another attached controller client
Usage: mpmux-cli transfer-control [OPTIONS] <TO_CLIENT_ID>
Arguments:
<TO_CLIENT_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-control-state#
Show attached host-control clients and current control-owner placeholder state
Usage: mpmux-cli show-control-state [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli has-session#
Return success only when the running app has an active session
Usage: mpmux-cli has-session [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-ui-state#
Show structured command palette / picker / dialog overlay state
Usage: mpmux-cli show-ui-state [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-hot-reload-bridge#
Show Makepad `--hot` bridge state for the generated UI script mirror
Usage: mpmux-cli show-hot-reload-bridge [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli sync-hot-reload-bridge#
Regenerate the watched UI script mirror used by Makepad `--hot`
Usage: mpmux-cli sync-hot-reload-bridge [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli reload-config#
Reload mpmux runtime config from the original config lookup path
Usage: mpmux-cli reload-config [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-verbose-level#
Set the current runtime verbose level without restarting
Usage: mpmux-cli set-verbose-level [OPTIONS] <LEVEL>
Arguments:
<LEVEL>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli list-buffers#
List app-owned host buffers known to the running app
Usage: mpmux-cli list-buffers [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli list-clients#
List clients known to the running app
Usage: mpmux-cli list-clients [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli list-panes#
List panes known to the running app
Usage: mpmux-cli list-panes [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli new-tab#
Create a new tab in the running app; `-- PROGRAM ARGS…` runs a program in it instead of the shell
Usage: mpmux-cli new-tab [OPTIONS] [-- <RUN>...]
Arguments:
[RUN]... The program and its arguments, after `--`
Options:
--cwd <CWD> Directory the program (or shell) starts in
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli split-pane#
Split the current window into a second pane; `-- PROGRAM ARGS…` runs a program in it instead of the shell (`-- nvim notes.md`)
Usage: mpmux-cli split-pane [OPTIONS] [-- <RUN>...]
Arguments:
[RUN]... The program and its arguments, after `--`
Options:
--direction <DIRECTION> [default: right] [possible values: right, down]
--socket <SOCKET> Path to the mpmux host-control socket
--cwd <CWD> Directory the program (or shell) starts in
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli select-tab#
Select the active tab by tab id
Usage: mpmux-cli select-tab [OPTIONS] <TAB_ID>
Arguments:
<TAB_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli select-pane#
Select the active pane by pane id
Usage: mpmux-cli select-pane [OPTIONS] <PANE_ID>
Arguments:
<PANE_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli resize-pane#
Resize a pane toward one edge by a number of cells
Usage: mpmux-cli resize-pane [OPTIONS] --direction <DIRECTION>
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--direction <DIRECTION> [possible values: left, right, up, down]
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--amount <AMOUNT> [default: 5]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli kill-pane#
Close a pane by pane id, or the active pane when omitted
Usage: mpmux-cli kill-pane [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli list-windows#
List windows known to the running app
Usage: mpmux-cli list-windows [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli list-sessions#
List sessions known to the running app
Usage: mpmux-cli list-sessions [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli clear-history#
Clear pane history/scrollback in the running app
Usage: mpmux-cli clear-history [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli reset-terminal#
Reset a pane's terminal like Ghostty's Reset (--clear: Clear Screen)
Usage: mpmux-cli reset-terminal [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--clear Clear the screen and scrollback instead of a full reset
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-options#
Show current app/global options
Usage: mpmux-cli show-options [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-window-options#
Show current window-oriented options
Usage: mpmux-cli show-window-options [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-hooks#
Show configured hooks
Usage: mpmux-cli show-hooks [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-prompt-history#
Show prompt history
Usage: mpmux-cli show-prompt-history [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-buffer#
Show the current app-owned host buffer contents
Usage: mpmux-cli show-buffer [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-buffer#
Replace the current app-owned host buffer contents
Usage: mpmux-cli set-buffer [OPTIONS] <TEXT>
Arguments:
<TEXT>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli copy-to-clipboard#
Copy text to the app/system clipboard and app-owned host buffer
Usage: mpmux-cli copy-to-clipboard [OPTIONS] <TEXT>
Arguments:
<TEXT>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli delete-buffer#
Clear the current app-owned host buffer contents
Usage: mpmux-cli delete-buffer [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-environment#
Show an allowlisted environment snapshot from the running app
Usage: mpmux-cli show-environment [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli load-buffer#
Load the app-owned host buffer from a file
Usage: mpmux-cli load-buffer [OPTIONS] <PATH>
Arguments:
<PATH>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli save-buffer#
Save the current app-owned host buffer to a file
Usage: mpmux-cli save-buffer [OPTIONS] <PATH>
Arguments:
<PATH>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli paste-buffer#
Paste the current app-owned host buffer into the terminal
Usage: mpmux-cli paste-buffer [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli send-keys#
Send tmux-style key/text items through the host app
Usage: mpmux-cli send-keys [OPTIONS] [ITEMS]...
Arguments:
[ITEMS]... Sequence of tmux-style key names or literal text items
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
-l, --literal Send all items literally as text instead of parsing tmux-style key names
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli show-messages#
Show retained host/app message history
Usage: mpmux-cli show-messages [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli display-message#
Show a host/app message in mpmux UI surfaces
Usage: mpmux-cli display-message [OPTIONS] <MESSAGE>
Arguments:
<MESSAGE> Message text to display
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli display-dialog#
Show a centered modal dialog in mpmux UI surfaces
Usage: mpmux-cli display-dialog [OPTIONS] <TITLE> <MESSAGE>
Arguments:
<TITLE> Dialog title text
<MESSAGE> Dialog body text
Options:
--primary-label <PRIMARY_LABEL> Optional primary button label
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--wait Wait until the dialog is dismissed and return the result payload
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-custom-dialog-field#
Update one active custom dialog field through the typed host-control surface
Usage: mpmux-cli set-custom-dialog-field [OPTIONS] --kind <KIND> <FIELD_ID>
Arguments:
<FIELD_ID>
Options:
--dialog-id <DIALOG_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--kind <KIND> [possible values: text, textarea, select, checkbox, switch, radio-group, toggle-group]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--text <TEXT>
--json Output full response JSON
--selected-id <SELECTED_ID>
--checked <CHECKED> [possible values: true, false]
-h, --help Print help
mpmux-cli invoke-custom-dialog-action#
Invoke one active custom dialog footer action through the typed host-control surface
Usage: mpmux-cli invoke-custom-dialog-action [OPTIONS] <ACTION_ID>
Arguments:
<ACTION_ID>
Options:
--dialog-id <DIALOG_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli open-command-palette#
Open the command palette through the typed host-control surface
Usage: mpmux-cli open-command-palette [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-command-palette-query#
Set the command palette query text through the typed host-control surface
Usage: mpmux-cli set-command-palette-query [OPTIONS] <TEXT>
Arguments:
<TEXT>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli move-command-palette-selection#
Move the command palette selection by a row delta
Usage: mpmux-cli move-command-palette-selection [OPTIONS] <DELTA>
Arguments:
<DELTA>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli confirm-command-palette-selection#
Confirm the current command palette selection
Usage: mpmux-cli confirm-command-palette-selection [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli dismiss-command-palette#
Dismiss the active command palette overlay
Usage: mpmux-cli dismiss-command-palette [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli open-pie-menu#
Open the overlay pie menu through host control
Usage: mpmux-cli open-pie-menu [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu#
Discover and control pie menus through host control
Usage: mpmux-cli pie-menu [OPTIONS] <COMMAND>
Commands:
list List available static pie menus and redacted item actions
active Show the currently active pie menu, if any
open Open a static pie menu by id, or the root menu when omitted
patch Patch safe presentation fields for one runtime pie menu item
activate Activate the current pie menu item by id, direction, clock hour, or degrees
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu list#
List available static pie menus and redacted item actions
Usage: mpmux-cli pie-menu list [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu active#
Show the currently active pie menu, if any
Usage: mpmux-cli pie-menu active [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu open#
Open a static pie menu by id, or the root menu when omitted
Usage: mpmux-cli pie-menu open [OPTIONS] [MENU_ID]
Arguments:
[MENU_ID]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu patch#
Patch safe presentation fields for one runtime pie menu item
Usage: mpmux-cli pie-menu patch [OPTIONS] <MENU_ID> <ITEM_ID>
Arguments:
<MENU_ID>
<ITEM_ID>
Options:
--label <LABEL>
--socket <SOCKET> Path to the mpmux host-control socket
--detail <DETAIL>
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--enabled <ENABLED> [possible values: true, false]
--json Output full response JSON
-h, --help Print help
mpmux-cli pie-menu activate#
Activate the current pie menu item by id, direction, clock hour, or degrees
Usage: mpmux-cli pie-menu activate [OPTIONS] <ITEM_ID_OR_DIRECTION>
Arguments:
<ITEM_ID_OR_DIRECTION>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension#
Discover and control runtime extension overlays through host control
Usage: mpmux-cli extension [OPTIONS] <COMMAND>
Commands:
list List available runtime extensions and overlays
reload Reload runtime extension manifests from MPMUX_EXTENSION_PATHS
enable Enable a runtime extension for this app session
disable Disable a runtime extension for this app session
open Open one extension overlay by extension id and optional overlay id
activate Activate an item in the currently active extension overlay
dismiss Dismiss the active extension overlay
help Print this message or the help of the given subcommand(s)
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension list#
List available runtime extensions and overlays
Usage: mpmux-cli extension list [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension reload#
Reload runtime extension manifests from MPMUX_EXTENSION_PATHS
Usage: mpmux-cli extension reload [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension enable#
Enable a runtime extension for this app session
Usage: mpmux-cli extension enable [OPTIONS] <EXTENSION_ID>
Arguments:
<EXTENSION_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension disable#
Disable a runtime extension for this app session
Usage: mpmux-cli extension disable [OPTIONS] <EXTENSION_ID>
Arguments:
<EXTENSION_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension open#
Open one extension overlay by extension id and optional overlay id
Usage: mpmux-cli extension open [OPTIONS] <EXTENSION_ID> [OVERLAY_ID]
Arguments:
<EXTENSION_ID>
[OVERLAY_ID]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension activate#
Activate an item in the currently active extension overlay
Usage: mpmux-cli extension activate [OPTIONS] <ITEM_ID>
Arguments:
<ITEM_ID>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli extension dismiss#
Dismiss the active extension overlay
Usage: mpmux-cli extension dismiss [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli activate-pie-menu-direction#
Activate a pie menu direction by name, clock hour (1.5h), or degrees (45)
Usage: mpmux-cli activate-pie-menu-direction [OPTIONS] <DIRECTION>
Arguments:
<DIRECTION> Direction name, clock hour (for example 1.5h), or clockwise degrees from north
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli move-picker-selection#
Move the active picker selection by a row delta
Usage: mpmux-cli move-picker-selection [OPTIONS] <DELTA>
Arguments:
<DELTA>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli confirm-picker-selection#
Confirm the current picker selection
Usage: mpmux-cli confirm-picker-selection [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli dismiss-overlay#
Dismiss a typed overlay
Usage: mpmux-cli dismiss-overlay [OPTIONS] <OVERLAY>
Arguments:
<OVERLAY> [possible values: command-palette, picker, dialog, custom-dialog]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli dismiss-dialog#
Dismiss the active mpmux dialog overlay
Usage: mpmux-cli dismiss-dialog [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli toggle-message-sidebar#
Toggle the host message sidebar in mpmux UI
Usage: mpmux-cli toggle-message-sidebar [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-message-sidebar-width#
Set the host message sidebar width in pixels through the splitter path
Usage: mpmux-cli set-message-sidebar-width [OPTIONS] <WIDTH_PX>
Arguments:
<WIDTH_PX>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-message-sidebar-position#
Move the dock (message and custom sidebars) to a window edge; saved
Usage: mpmux-cli set-message-sidebar-position [OPTIONS] <POSITION>
Arguments:
<POSITION> [possible values: left, right, top, bottom]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-custom-sidebar-filter#
Set a custom sidebar's filter query (the one with the keys, or --sidebar-id)
Usage: mpmux-cli set-custom-sidebar-filter [OPTIONS] <QUERY>
Arguments:
<QUERY>
Options:
--sidebar-id <ID> The sidebar, by its id [default: the one with the keys]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli move-custom-sidebar-selection#
Move a custom sidebar's selection by a row delta
Usage: mpmux-cli move-custom-sidebar-selection [OPTIONS] <DELTA>
Arguments:
<DELTA>
Options:
--sidebar-id <ID> The sidebar, by its id [default: the one with the keys]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli invoke-custom-sidebar-selection#
Invoke a custom sidebar's selection
Usage: mpmux-cli invoke-custom-sidebar-selection [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--source <SOURCE>
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--sidebar-id <ID> The sidebar, by its id [default: the one with the keys]
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli invoke-custom-sidebar-action#
Press a button of a custom sidebar's actions section, by its id
Usage: mpmux-cli invoke-custom-sidebar-action [OPTIONS] <ACTION_ID>
Arguments:
<ACTION_ID>
Options:
--sidebar-id <ID> The sidebar, by its id [default: the one with the keys]
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli clear-custom-sidebar#
Remove a custom sidebar [default: the one in the dock's main half]
Usage: mpmux-cli clear-custom-sidebar [OPTIONS]
Options:
--sidebar-id <ID> The sidebar, by its id
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-dock-split#
Split the dock to show custom sidebar ID below what it shows; without an ID, join the halves again
Usage: mpmux-cli set-dock-split [OPTIONS] [ID]
Arguments:
[ID]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli set-app-time-override#
Override the app clock with an explicit virtual time in microseconds
Usage: mpmux-cli set-app-time-override [OPTIONS] <APP_TIME_MICROS>
Arguments:
<APP_TIME_MICROS>
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli clear-app-time-override#
Clear the explicit app clock override and return to wall-clock time
Usage: mpmux-cli clear-app-time-override [OPTIONS]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli load-terminal-replay-session#
Load an indexed terminal JSONL replay session onto a pane for offline frame stepping
Usage: mpmux-cli load-terminal-replay-session [OPTIONS] <PATH>
Arguments:
<PATH> Path to the JSONL replay session artifact
Options:
--pane-id <PANE_ID>
--socket <SOCKET>
Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT>
TCP endpoint for the mpmux host-control bridge, as host:port
--inter-segment-pause-micros <INTER_SEGMENT_PAUSE_MICROS>
Virtual pause between segments in microseconds when replaying [default: 500000]
--client-id <CLIENT_ID>
Optional stable host-control client id attached to requests
--sample-fps <SAMPLE_FPS>
Optional deterministic fixed-FPS replay sampling. When set, the replay session is expanded into piecewise-constant sample frames at this FPS, including inter-segment pause frames
--json
Output full response JSON
-h, --help
Print help
mpmux-cli apply-terminal-replay-frame#
Apply one loaded terminal replay frame to a pane and update app virtual time
Usage: mpmux-cli apply-terminal-replay-frame [OPTIONS] <FRAME_INDEX>
Arguments:
<FRAME_INDEX>
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli clear-terminal-replay-session#
Clear the loaded terminal replay session from a pane
Usage: mpmux-cli clear-terminal-replay-session [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli start-terminal-segment-recording#
Begin recording the next terminal-output segment until an explicit checkpoint is reached
Usage: mpmux-cli start-terminal-segment-recording [OPTIONS] <TRIGGER>
Arguments:
<TRIGGER> Human-readable description of the triggering action for this segment
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--preserve-trailing-spaces Preserve trailing spaces in the start snapshot
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli finish-terminal-segment-recording#
Finish the active terminal-output segment recording and return the captured payload
Usage: mpmux-cli finish-terminal-segment-recording [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli capture-pane#
Capture visible pane text from the current terminal viewport
Usage: mpmux-cli capture-pane [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--start-line <START_LINE> Start line within the visible viewport. Negative values are relative to the bottom
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--end-line <END_LINE> End line within the visible viewport. Negative values are relative to the bottom
--json Output full response JSON
--preserve-trailing-spaces Preserve trailing spaces on each captured line
-h, --help Print help
mpmux-cli capture-ui#
Capture composited host or pane UI as an image or video artifact
Usage: mpmux-cli capture-ui [OPTIONS] <OUTPUT>
Arguments:
<OUTPUT> Output artifact path, for example captures/ui.png or captures/ui.mkv
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--surface <SURFACE> Capture the full host UI or only one pane surface [default: host] [possible values: host, pane]
--format <FORMAT> Capture one still image or an encoded video clip [default: image] [possible values: image, video]
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--pane-id <PANE_ID> Optional pane id when capturing `--surface pane`
--fps <FPS> Frame rate used for video capture and encoding
--json Output full response JSON
--frames <FRAMES> Number of frames to capture for video output
--encoder <ENCODER> Encoder selection for ffmpeg video capture [possible values: auto, lib-svt-av1, lib-aom-av1]
--crf <CRF> Quality target passed to the AV1 encoder for video capture
--preset <PRESET> Speed preset passed to the AV1 encoder for video capture
-h, --help Print help
mpmux-cli focus-terminal#
Focus the terminal overlay
Usage: mpmux-cli focus-terminal [OPTIONS]
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli send-text#
Send terminal text through the host app
Usage: mpmux-cli send-text [OPTIONS] <TEXT>
Arguments:
<TEXT> Text to send to the terminal
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli send-key#
Send a logical key through the host app
Usage: mpmux-cli send-key [OPTIONS] <KEY>
Arguments:
<KEY> Logical key name (for example: enter, escape, left, r, 1)
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--shift
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--ctrl
--alt
--json Output full response JSON
--logo
-h, --help Print help
mpmux-cli run-playback#
Run a playback scenario inside mpmux
Usage: mpmux-cli run-playback [OPTIONS] <NAME>
Arguments:
<NAME> Playback name
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli window-action#
Run a supported window action
Usage: mpmux-cli window-action [OPTIONS] <ACTION>
Arguments:
<ACTION> [possible values: toggle-maximize]
Options:
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli scroll-viewport#
Scroll the terminal viewport by a terminal delta
Usage: mpmux-cli scroll-viewport [OPTIONS] <DELTA>
Arguments:
<DELTA>
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli select-cells#
Apply a visible cell selection
Usage: mpmux-cli select-cells [OPTIONS] <ANCHOR_COL> <ANCHOR_ROW> <FOCUS_COL> <FOCUS_ROW>
Arguments:
<ANCHOR_COL>
<ANCHOR_ROW>
<FOCUS_COL>
<FOCUS_ROW>
Options:
--pane-id <PANE_ID>
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help
mpmux-cli cleanup-processes#
Clean up tracked PTY processes from abandoned earlier runs
Usage: mpmux-cli cleanup-processes [OPTIONS]
Options:
--deep Also walk descendant processes for a deeper cleanup pass
--socket <SOCKET> Path to the mpmux host-control socket
--host-control-tcp <HOST:PORT> TCP endpoint for the mpmux host-control bridge, as host:port
--client-id <CLIENT_ID> Optional stable host-control client id attached to requests
--json Output full response JSON
-h, --help Print help