CLI Reference
bmux
Server-backed terminal multiplexer CLI
Usage: bmux [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --config | Merge an additional config file (highest precedence layer) | ||
| --target | Execute command against a configured target (local or remote) | ||
| --runtime | Select named runtime instance (default: default) | ||
| -v, --verbose | Enable verbose logging | true, false | |
| --log-level | Set log level for file logging | error, warn, info, debug, trace |
Subcommands:
- setup — First-run setup wizard for hosted mode (p2p default)
- host — Start hosted mode (p2p default, control-plane opt-in)
- join — Join a hosted link/target quickly
- hosts — List known hosts/targets (recent first)
- auth — Authentication commands
- access — SSH-key access controls for iroh hosting
- kiosk — SSH kiosk profiles and token management
- share — Share helpers for hosted links
- unshare — Remove a named shared link
- connect — Connect to a target and attach to a session
- new-session — Create a new session
- list-sessions — List active sessions
- list-clients — List connected clients
- kill-session — Kill a session by name or UUID
- kill-all-sessions — Kill all sessions
- attach — Attach to a session by name or UUID
- detach — Detach from the current session
- follow — Follow another client’s active target
- unfollow — Stop following a client
- session — Session management commands
- remote — Remote target utilities
- server — Server lifecycle and status tools
- logs — Logging diagnostics and utilities
- diagnostics — Structured diagnostics event viewer
- config — Configuration management and inspection
- perf — Runtime performance telemetry controls
- doctor — Run system-wide health checks
- keymap — Keymap tools and diagnostics
- terminal — Terminal capability tools and diagnostics
- playbook — Headless playbook execution and testing
- sandbox — Run bmux in an isolated ephemeral sandbox environment
- slot — Manage bmux slots (multi-version installs)
- env — Alias for bmux slot ... (same subcommand tree; useful alongside the standalone bmux-env binary for symmetry)
- device-seal-broker — Internal sshenv device-seal broker used by panes
bmux setup
First-run setup wizard for hosted mode (p2p default)
Usage: bmux setup [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --check | Check hosted readiness without starting or changing runtime state | true, false | |
| --mode | Hosted operation mode (p2p is infra-light default) | p2p, control-plane |
bmux host
Start hosted mode (p2p default, control-plane opt-in)
Usage: bmux host [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --listen | Optional listen address for local gateway bridge | 127.0.0.1:7443 | |
| --name | Optional friendly name hint | ||
| --copy | Copy the resulting join link to clipboard | true, false | |
| --daemon | Run host runtime in the background | true, false | |
| --status | Show hosted-mode runtime status | true, false | |
| --stop | Stop hosted-mode runtime if running | true, false | |
| --restart | Restart hosted-mode runtime in background | true, false | |
| --mode | Hosted operation mode (p2p is infra-light default) | p2p, control-plane |
bmux join
Join a hosted link/target quickly
Usage: bmux join [LINK] [SESSION]
Arguments:
| Name | Description | Required |
| link | Link or target name (bmux://, iroh://, https://, or configured target) | no |
| session | Session name or UUID | no |
bmux hosts
List known hosts/targets (recent first)
Usage: bmux hosts [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --verbose | Include detailed target mappings and diagnostics | true, false |
bmux auth
Authentication commands
Subcommands:
- login — Login and register this device for hosted mode
- status — Show current authentication state
- logout — Clear locally stored authentication state
bmux auth login
Login and register this device for hosted mode
Usage: bmux auth login [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --no-browser | Do not try to open a browser automatically | true, false |
bmux auth status
Show current authentication state
bmux auth logout
Clear locally stored authentication state
bmux access
SSH-key access controls for iroh hosting
Subcommands:
- status — Show iroh SSH access status
- init — Initialize iroh SSH access and enable it immediately
- add — Add SSH keys to iroh allowlist
- list — List currently authorized SSH keys
- remove — Remove an SSH key from the allowlist
- enable — Enable iroh SSH access enforcement
- disable — Disable iroh SSH access enforcement
bmux access status
Show iroh SSH access status
bmux access init
Initialize iroh SSH access and enable it immediately
Usage: bmux access init [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --agent | Add all currently loaded SSH agent keys | true, false | |
| --key-file | Add a public key from file (repeatable) | repeatable | |
| --public-key | Add a public key line directly (repeatable) | repeatable | |
| --github-user | Import public keys from a GitHub username (repeatable) | repeatable | |
| --yes | Skip interactive confirmation prompts | true, false |
bmux access add
Add SSH keys to iroh allowlist
Usage: bmux access add [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --agent | Add all currently loaded SSH agent keys | true, false | |
| --key-file | Add a public key from file (repeatable) | repeatable | |
| --public-key | Add a public key line directly (repeatable) | repeatable | |
| --github-user | Import public keys from a GitHub username (repeatable) | repeatable |
bmux access list
List currently authorized SSH keys
Usage: bmux access list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux access remove
Remove an SSH key from the allowlist
Usage: bmux access remove <FINGERPRINT> [OPTIONS]
Arguments:
| Name | Description | Required |
| fingerprint | Key fingerprint to remove | yes |
Options:
| Flag | Description | Values | Default |
| --yes | Skip interactive confirmation prompts | true, false |
bmux access enable
Enable iroh SSH access enforcement
bmux access disable
Disable iroh SSH access enforcement
bmux kiosk
SSH kiosk profiles and token management
Subcommands:
- status — Show kiosk profile status and effective defaults
- init — Initialize/update kiosk bootstrap files from config
- issue-token — Issue a kiosk token scoped to a profile
- revoke-token — Revoke one issued kiosk token by id
- attach — Attach using a kiosk token (intended for forced SSH command)
- ssh-print-config — Print generated sshd include text without writing files
bmux kiosk status
Show kiosk profile status and effective defaults
Usage: bmux kiosk status [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux kiosk init
Initialize/update kiosk bootstrap files from config
Usage: bmux kiosk init [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --profile | Kiosk profile to reconcile (repeatable) | repeatable | |
| --all-profiles | Reconcile all configured profiles | true, false | |
| --dry-run | Preview actions without writing files | true, false | |
| --yes | Skip confirmation prompts | true, false |
bmux kiosk issue-token
Issue a kiosk token scoped to a profile
Usage: bmux kiosk issue-token <PROFILE> [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Kiosk profile name | yes |
Options:
| Flag | Description | Values | Default |
| --session | Optional session override stored in token | ||
| --ttl-secs | Optional token TTL in seconds (defaults to profile/default TTL) | ||
| --one-shot | Mark token as one-shot (defaults to profile/default one_shot) | true, false | |
| --multi-use | Mark token as reusable until expiry | true, false |
bmux kiosk revoke-token
Revoke one issued kiosk token by id
Usage: bmux kiosk revoke-token <TOKEN_ID>
Arguments:
| Name | Description | Required |
| token_id | Token id to revoke | yes |
bmux kiosk attach
Attach using a kiosk token (intended for forced SSH command)
Usage: bmux kiosk attach <PROFILE> [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Kiosk profile name | yes |
Options:
| Flag | Description | Values | Default |
| --token | Raw kiosk token |
bmux kiosk ssh-print-config
Print generated sshd include text without writing files
Usage: bmux kiosk ssh-print-config [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --profile | Kiosk profile to print (repeatable) | repeatable | |
| --all-profiles | Print all configured profiles | true, false |
bmux share
Share helpers for hosted links
Usage: bmux share [TARGET] [SECONDARY] [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Target/link to share | no |
| secondary | Optional second positional argument (used by bmux share revoke <name>) | no |
Options:
| Flag | Description | Values | Default |
| --name | Optional stable share name | ||
| --role | Optional access role hint | control | |
| --ttl | Optional invite TTL (example: 24h, 30m) | ||
| --one-time | Mark the share as one-time use | true, false | |
| --copy | Copy resulting share link to clipboard | true, false | |
| --qr | Render a terminal QR code for the share link | true, false |
bmux unshare
Remove a named shared link
Usage: bmux unshare <NAME>
Arguments:
| Name | Description | Required |
| name | Share name/slug to remove | yes |
bmux connect
Connect to a target and attach to a session
Usage: bmux connect [TARGET] [SESSION] [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Target name or ssh destination (user@host[:port] or ssh://…) | no |
| session | Session name or UUID; if omitted in TTY mode a picker is shown | no |
Options:
| Flag | Description | Values | Default |
| --follow | Follow target client UUID and attach to its selected session | ||
| --global | Keep following across target session switches (requires –follow) | true, false | |
| --reconnect-forever | Keep reconnecting instead of stopping after bounded retries | true, false |
bmux new-session
Create a new session
Usage: bmux new-session [NAME]
Arguments:
| Name | Description | Required |
| name | Optional session name | no |
bmux list-sessions
List active sessions
Usage: bmux list-sessions [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print sessions as JSON | true, false |
bmux list-clients
List connected clients
Usage: bmux list-clients [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print clients as JSON | true, false |
bmux kill-session
Kill a session by name or UUID
Usage: bmux kill-session <TARGET> [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Session name or UUID | yes |
Options:
| Flag | Description | Values | Default |
| --force-local | Bypass policy checks for local kill operations | true, false |
bmux kill-all-sessions
Kill all sessions
Usage: bmux kill-all-sessions [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --force-local | Bypass policy checks for local kill operations | true, false |
bmux attach
Attach to a session by name or UUID
Usage: bmux attach [TARGET] [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Session name or UUID | no |
Options:
| Flag | Description | Values | Default |
| --follow | Follow target client UUID and attach to its selected session | ||
| --global | Keep following across target session switches (requires –follow) | true, false |
bmux detach
Detach from the current session
bmux follow
Follow another client’s active target
Usage: bmux follow <TARGET_CLIENT_ID> [OPTIONS]
Arguments:
| Name | Description | Required |
| target_client_id | Target client UUID to follow | yes |
Options:
| Flag | Description | Values | Default |
| --global | Keep following across target session switches | true, false |
bmux unfollow
Stop following a client
bmux session
Session management commands
Subcommands:
- new — Create a new session
- list — List active sessions
- clients — List connected clients
- kill — Kill a session by name or UUID
- kill-all — Kill all sessions
- attach — Attach to a session by name or UUID
- detach — Detach from the current session
- follow — Follow another client’s active target
- unfollow — Stop following a client
bmux session new
Create a new session
Usage: bmux session new [NAME]
Arguments:
| Name | Description | Required |
| name | Optional session name | no |
bmux session list
List active sessions
Usage: bmux session list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print sessions as JSON | true, false |
bmux session clients
List connected clients
Usage: bmux session clients [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print clients as JSON | true, false |
bmux session kill
Kill a session by name or UUID
Usage: bmux session kill <TARGET> [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Session name or UUID | yes |
Options:
| Flag | Description | Values | Default |
| --force-local | Bypass policy checks for local kill operations | true, false |
bmux session kill-all
Kill all sessions
Usage: bmux session kill-all [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --force-local | Bypass policy checks for local kill operations | true, false |
bmux session attach
Attach to a session by name or UUID
Usage: bmux session attach [TARGET] [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Session name or UUID | no |
Options:
| Flag | Description | Values | Default |
| --follow | Follow target client UUID and attach to its selected session | ||
| --global | Keep following across target session switches (requires –follow) | true, false |
bmux session detach
Detach from the current session
bmux session follow
Follow another client’s active target
Usage: bmux session follow <TARGET_CLIENT_ID> [OPTIONS]
Arguments:
| Name | Description | Required |
| target_client_id | Target client UUID to follow | yes |
Options:
| Flag | Description | Values | Default |
| --global | Keep following across target session switches | true, false |
bmux session unfollow
Stop following a client
bmux remote
Remote target utilities
Subcommands:
- list — List configured connection targets
- test — Verify connectivity to a configured target
- doctor — Diagnose remote connectivity and runtime readiness
- init — Create and validate a named remote target profile
- install-server — Ensure remote bmux runtime is installed and reachable
- upgrade — Upgrade remote bmux runtime for one or all targets
- trust — Manage TLS gateway trust pins
- complete — Shell completion helpers for targets/sessions
bmux remote list
List configured connection targets
Usage: bmux remote list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux remote test
Verify connectivity to a configured target
Usage: bmux remote test <TARGET>
Arguments:
| Name | Description | Required |
| target | Target name or ssh destination | yes |
bmux remote doctor
Diagnose remote connectivity and runtime readiness
Usage: bmux remote doctor <TARGET> [OPTIONS]
Arguments:
| Name | Description | Required |
| target | Target name or ssh destination | yes |
Options:
| Flag | Description | Values | Default |
| --fix | Apply safe automatic fixes when possible | true, false |
bmux remote init
Create and validate a named remote target profile
Usage: bmux remote init <NAME> [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Name for the target profile | yes |
Options:
| Flag | Description | Values | Default |
| --ssh | Configure as an SSH target (user@host[:port] or host) | ||
| --tls | Configure as a TLS target (host[:port]) | ||
| --iroh | Configure as an iroh target (endpoint_id[?relay=https://…][&auth=ssh]) | ||
| --user | SSH username override | ||
| --port | SSH/TLS port override | ||
| --set-default | Mark as default target | true, false |
bmux remote install-server
Ensure remote bmux runtime is installed and reachable
Usage: bmux remote install-server <TARGET>
Arguments:
| Name | Description | Required |
| target | Target name | yes |
bmux remote upgrade
Upgrade remote bmux runtime for one or all targets
Usage: bmux remote upgrade [TARGET]
Arguments:
| Name | Description | Required |
| target | Target name (omit to upgrade all configured targets) | no |
bmux remote trust
Manage TLS gateway trust pins
bmux remote trust list
List effective TLS gateway trust pins
bmux remote trust add
Probe and trust a TLS gateway
Usage: bmux remote trust add <TARGET> [OPTIONS]
Arguments:
| Name | Description | Required |
| target | TLS target URL or host[:port] | yes |
Options:
| Flag | Description | Values | Default |
| --yes | Trust without an interactive confirmation prompt | true, false |
bmux remote trust remove
Remove a local TLS gateway trust pin
Usage: bmux remote trust remove <ENDPOINT>
Arguments:
| Name | Description | Required |
| endpoint | Endpoint key (host:port) | yes |
bmux remote complete
Shell completion helpers for targets/sessions
bmux remote complete targets
Print target names for completion
bmux remote complete sessions
Print session names for a target
Usage: bmux remote complete sessions <TARGET>
Arguments:
| Name | Description | Required |
| target | Target name | yes |
bmux server
Server lifecycle and status tools
Subcommands:
- start — Start local bmux server
- status — Check server status
- whoami-principal — Show caller and server control principal identities
- save — Trigger immediate server snapshot save
- restore — Validate persisted snapshot without applying restore
- stop — Request graceful server shutdown
- gateway — Run a TLS gateway that exposes bmux over TCP/TLS
bmux server start
Start local bmux server
Usage: bmux server start [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --daemon | Run server in background daemon mode | true, false | |
| --pane-shell-integration | Force-enable pane shell integration hooks for this server start | true, false | |
| --no-pane-shell-integration | Disable pane shell integration hooks for this server start | true, false | |
| --rolling-recording | Enable hidden rolling recording on server boot for this run | true, false | |
| --no-rolling-recording | Disable hidden rolling recording on server boot for this run | true, false | |
| --rolling-window-secs | Override rolling recording window in seconds for this run | ||
| --rolling-event-kind-all | Enable all supported rolling event kinds | true, false | |
| --rolling-event-kind | Explicit rolling event kind allowlist (repeatable) | pane-input-raw, pane-output-raw, protocol-reply-raw, pane-image, server-event, request-start, request-done, request-error, custom, repeatable | |
| --rolling-capture-input | Override rolling capture of pane input bytes for this run | true, false | |
| --no-rolling-capture-input | Disable rolling capture of pane input bytes for this run | true, false | |
| --rolling-capture-output | Override rolling capture of pane output bytes for this run | true, false | |
| --no-rolling-capture-output | Disable rolling capture of pane output bytes for this run | true, false | |
| --rolling-capture-events | Override rolling capture of lifecycle/request/custom events for this run | true, false | |
| --no-rolling-capture-events | Disable rolling capture of lifecycle/request/custom events for this run | true, false | |
| --rolling-capture-protocol-replies | Override rolling capture of protocol reply bytes for this run | true, false | |
| --no-rolling-capture-protocol-replies | Disable rolling capture of protocol reply bytes for this run | true, false | |
| --rolling-capture-images | Override rolling capture of extracted pane images for this run | true, false | |
| --no-rolling-capture-images | Disable rolling capture of extracted pane images for this run | true, false |
bmux server status
Check server status
Usage: bmux server status [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print server status as JSON | true, false |
bmux server whoami-principal
Show caller and server control principal identities
Usage: bmux server whoami-principal [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print principal identity as JSON | true, false |
bmux server save
Trigger immediate server snapshot save
bmux server restore
Validate persisted snapshot without applying restore
Usage: bmux server restore [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --dry-run | Only validate snapshot readability and schema | true, false | |
| --yes | Confirm replace-restore of current in-memory server state | true, false |
bmux server stop
Request graceful server shutdown
bmux server gateway
Run a TLS gateway that exposes bmux over TCP/TLS
Usage: bmux server gateway [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --listen | Listen address (host:port) | ||
| --host | Expose gateway publicly via reverse SSH tunnel helper | true, false | |
| --host-mode | Hosting mode used by –host (iroh is default) | iroh, ssh | iroh |
| --host-relay | Reverse SSH relay destination (user@host) | nokey@localhost.run | |
| --quick | Generate and use self-signed cert/key in runtime dir for quick setup | true, false | |
| --cert-file | PEM encoded certificate chain path | ||
| --key-file | PEM encoded private key path (PKCS8) |
bmux logs
Logging diagnostics and utilities
Subcommands:
- path — Print effective log file path
- level — Print effective runtime log level
- tail — Print recent log lines and optionally follow updates
- watch — Interactive live log viewer with dynamic filters
- profiles — Manage saved log watch profiles
bmux logs path
Print effective log file path
Usage: bmux logs path [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux logs level
Print effective runtime log level
Usage: bmux logs level [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux logs tail
Print recent log lines and optionally follow updates
Usage: bmux logs tail [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --lines | Number of recent lines to show before follow | 50 | |
| --since | Show entries newer than a relative duration (e.g. 30s, 10m, 2h, 1d) | ||
| --no-follow | Print recent lines only (disable follow) | true, false |
bmux logs watch
Interactive live log viewer with dynamic filters
Usage: bmux logs watch [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --lines | Number of recent lines to preload (defaults to saved profile value or 200) | ||
| --since | Show entries newer than a relative duration (e.g. 30s, 10m, 2h, 1d) | ||
| --profile | State profile for saved watch filters (default: global default) | ||
| --include | Include regex filter (case-sensitive, repeatable) | repeatable | |
| --include-i | Include regex filter (case-insensitive, repeatable) | repeatable | |
| --exclude | Exclude regex filter (case-sensitive, repeatable) | repeatable | |
| --exclude-i | Exclude regex filter (case-insensitive, repeatable) | repeatable |
bmux logs profiles
Manage saved log watch profiles
bmux logs profiles list
List saved watch profiles
Usage: bmux logs profiles list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux logs profiles show
Show details for one profile
Usage: bmux logs profiles show [PROFILE] [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Profile name (default: global profile default) | no |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux logs profiles delete
Delete a saved profile
Usage: bmux logs profiles delete <PROFILE>
Arguments:
| Name | Description | Required |
| profile | Profile name to delete | yes |
bmux logs profiles rename
Rename a saved profile
Usage: bmux logs profiles rename <FROM> <TO>
Arguments:
| Name | Description | Required |
| from | Existing profile name | yes |
| to | New profile name | yes |
bmux diagnostics
Structured diagnostics event viewer
Subcommands:
- watch — Interactive structured diagnostics event viewer with dynamic filters
- view — Alias for watch
bmux diagnostics watch
Interactive structured diagnostics event viewer with dynamic filters
Usage: bmux diagnostics watch [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --lines | Number of recent events to preload (defaults to saved profile value or 200) | ||
| --since | Show entries newer than a relative duration (e.g. 30s, 10m, 2h, 1d) | ||
| --profile | State profile for saved watch filters (default: global default) | ||
| --include | Include regex filter (case-sensitive, repeatable) | repeatable | |
| --include-i | Include regex filter (case-insensitive, repeatable) | repeatable | |
| --exclude | Exclude regex filter (case-sensitive, repeatable) | repeatable | |
| --exclude-i | Exclude regex filter (case-insensitive, repeatable) | repeatable |
bmux diagnostics view
Alias for watch
Usage: bmux diagnostics view [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --lines | Number of recent events to preload (defaults to saved profile value or 200) | ||
| --since | Show entries newer than a relative duration (e.g. 30s, 10m, 2h, 1d) | ||
| --profile | State profile for saved watch filters (default: global default) | ||
| --include | Include regex filter (case-sensitive, repeatable) | repeatable | |
| --include-i | Include regex filter (case-insensitive, repeatable) | repeatable | |
| --exclude | Exclude regex filter (case-sensitive, repeatable) | repeatable | |
| --exclude-i | Exclude regex filter (case-insensitive, repeatable) | repeatable |
bmux config
Configuration management and inspection
Subcommands:
- path — Print the config file path
- show — Print the effective configuration
- get — Get a configuration value by dotted key path
- set — Set a configuration value in the config file
- profiles — Manage composition profiles
- scope — Inspect scoped configuration resolution
bmux config path
Print the config file path
Usage: bmux config path [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config show
Print the effective configuration
Usage: bmux config show [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON instead of TOML | true, false |
bmux config get
Get a configuration value by dotted key path
Usage: bmux config get <KEY> [OPTIONS]
Arguments:
| Name | Description | Required |
| key | Dotted key path (e.g. status_bar.max_tabs, behavior.mouse.enabled) | yes |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config set
Set a configuration value in the config file
Usage: bmux config set <KEY> <VALUE>
Arguments:
| Name | Description | Required |
| key | Dotted key path (e.g. status_bar.max_tabs, behavior.mouse.enabled) | yes |
| value | Value to set (booleans, integers, and strings are auto-detected) | yes |
bmux config profiles
Manage composition profiles
bmux config profiles list
List known profile ids
Usage: bmux config profiles list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles show
Show one profile patch and inheritance metadata
Usage: bmux config profiles show <PROFILE> [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Profile id | yes |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles resolve
Show resolved active profile and effective layers
Usage: bmux config profiles resolve [PROFILE] [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Optional forced profile id | no |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles explain
Explain layer-by-layer composition changes
Usage: bmux config profiles explain [PROFILE] [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Optional forced profile id | no |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles switch
Set active profile in config file
Usage: bmux config profiles switch <PROFILE> [OPTIONS]
Arguments:
| Name | Description | Required |
| profile | Profile id to activate | yes |
Options:
| Flag | Description | Values | Default |
| --dry-run | Preview changes without writing config | true, false | |
| --json | Print output as JSON | true, false |
bmux config profiles diff
Diff two resolved profile configurations
Usage: bmux config profiles diff <FROM> <TO> [OPTIONS]
Arguments:
| Name | Description | Required |
| from | From profile id | yes |
| to | To profile id | yes |
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles lint
Validate profile graph and layer rules
Usage: bmux config profiles lint [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config profiles evaluate
Evaluate auto-select rules in current environment
Usage: bmux config profiles evaluate [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux config scope
Inspect scoped configuration resolution
bmux config scope explain
Explain scoped source discovery and effective config
Usage: bmux config scope explain [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --scope | Scope name to resolve, e.g. pane, new-pane, or global | pane | |
| --cwd | Cwd used for discovering local bmux.toml overlays | ||
| --json | Print output as JSON | true, false |
bmux perf
Runtime performance telemetry controls
Subcommands:
- status — Show current runtime performance telemetry settings
- on — Enable runtime performance telemetry
- off — Disable runtime performance telemetry
bmux perf status
Show current runtime performance telemetry settings
Usage: bmux perf status [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux perf on
Enable runtime performance telemetry
Usage: bmux perf on [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --profile | Capture profile level | basic, detailed, trace | detailed |
| --json | Print output as JSON | true, false |
bmux perf off
Disable runtime performance telemetry
Usage: bmux perf off [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false |
bmux doctor
Run system-wide health checks
Usage: bmux doctor [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print output as JSON | true, false | |
| --hosted | Run hosted-mode focused checks | true, false |
bmux keymap
Keymap tools and diagnostics
Subcommands:
- doctor — Print compiled keymap and overlap diagnostics
- explain — Explain effective action for a key chord
bmux keymap doctor
Print compiled keymap and overlap diagnostics
Usage: bmux keymap doctor [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print diagnostics as JSON | true, false |
bmux keymap explain
Explain effective action for a key chord
Usage: bmux keymap explain <KEY> [OPTIONS]
Arguments:
| Name | Description | Required |
| key | Key chord to resolve (e.g. “ctrl+b n”, “alt+h”, “escape”) | yes |
Options:
| Flag | Description | Values | Default |
| --mode | Resolve inside a specific modal mode id | ||
| --json | Print output as JSON | true, false |
bmux terminal
Terminal capability tools and diagnostics
Subcommands:
- doctor — Show terminal capability profile used for panes
- install-terminfo — Install bmux-256color terminfo entry
bmux terminal doctor
Show terminal capability profile used for panes
Usage: bmux terminal doctor [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Print diagnostics as JSON | true, false | |
| --trace | Include recent protocol trace events | true, false | |
| --trace-limit | Limit number of trace events shown | 50 | |
| --trace-family | Filter trace events by protocol family | csi, osc, dcs | |
| --trace-pane | Filter trace events by pane id |
bmux terminal install-terminfo
Install bmux-256color terminfo entry
Usage: bmux terminal install-terminfo [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --yes | Proceed without interactive confirmation | true, false | |
| --check | Check installability/status without installing | true, false |
bmux playbook
Headless playbook execution and testing
Subcommands:
- run — Run a playbook from a file or stdin
- validate — Validate a playbook without executing it
- interactive — Start an interactive playbook session with a socket for agent control
- dry-run — Dry-run: parse, validate, and print the execution plan without running
- diff — Compare results from two playbook runs
- cleanup — Clean up sandbox temp directories from previous playbook runs
bmux playbook run
Run a playbook from a file or stdin
Usage: bmux playbook run <SOURCE> [OPTIONS]
Arguments:
| Name | Description | Required |
| source | Path to playbook file, or - for stdin | yes |
Options:
| Flag | Description | Values | Default |
| --json | Output results as JSON | true, false | |
| --interactive | Run visual interactive live tour (TTY; non-TTY falls back to prompt controls) | true, false | |
| --target-server | Run against the live server instead of an ephemeral sandbox | true, false | |
| --record | Record the playbook execution (overrides playbook config) | true, false | |
| --export-gif | Export the recording as a GIF to the given path (implies –record) | ||
| --viewport | Override viewport dimensions as COLSxROWS (e.g. 120x40) | ||
| --timeout | Override max playbook timeout in seconds | ||
| --shell | Override shell | ||
| --var | Define a variable (repeatable). Format: KEY=VALUE | repeatable | |
| -v, --verbose | Print step-by-step progress to stderr | true, false |
bmux playbook validate
Validate a playbook without executing it
Usage: bmux playbook validate <SOURCE> [OPTIONS]
Arguments:
| Name | Description | Required |
| source | Path to playbook file, or - for stdin | yes |
Options:
| Flag | Description | Values | Default |
| --json | Output results as JSON | true, false |
bmux playbook interactive
Start an interactive playbook session with a socket for agent control
Usage: bmux playbook interactive [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --socket | Socket path override (default: auto-generated in sandbox temp dir) | ||
| --record | Record the session | true, false | |
| --viewport | Viewport dimensions as COLSxROWS (default: 80x24) | 80x24 | |
| --shell | Shell override | ||
| --timeout | Max session lifetime in seconds (default: no limit) |
bmux playbook dry-run
Dry-run: parse, validate, and print the execution plan without running
Usage: bmux playbook dry-run <SOURCE> [OPTIONS]
Arguments:
| Name | Description | Required |
| source | Path to playbook file, or - for stdin | yes |
Options:
| Flag | Description | Values | Default |
| --json | Output as JSON | true, false |
bmux playbook diff
Compare results from two playbook runs
Usage: bmux playbook diff <LEFT> <RIGHT> [OPTIONS]
Arguments:
| Name | Description | Required |
| left | Path to first (baseline/left) playbook result JSON | yes |
| right | Path to second (new/right) playbook result JSON | yes |
Options:
| Flag | Description | Values | Default |
| --json | Output diff as JSON | true, false | |
| --timing-threshold | Timing regression threshold in percent (default: 50) | 50 |
bmux playbook cleanup
Clean up sandbox temp directories from previous playbook runs
Usage: bmux playbook cleanup [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --dry-run | Only list orphaned dirs without deleting | true, false | |
| --json | Output as JSON | true, false |
bmux sandbox
Run bmux in an isolated ephemeral sandbox environment
Subcommands:
- dev — Run bmux in a dev-friendly isolated sandbox (prefers local debug build)
- run — Run bmux in an isolated ephemeral environment
- list — List known sandbox directories and runtime status
- status — Show a summary of sandbox runtime and index health
- inspect — Inspect a sandbox by id or absolute path
- tail — Print sandbox log tail without full manifest output
- open — Open sandbox paths and repro context quickly
- rerun — Rerun command from an existing sandbox manifest
- triage — One-shot sandbox failure triage summary
- doctor — Diagnose sandbox readiness and health checks
- bundle — Bundle sandbox diagnostics and logs into a single directory
- verify-bundle — Verify a sandbox bundle against its recorded metadata
- cleanup — Clean up sandbox temp directories from sandbox runs
- clean — Opinionated cleanup defaults for day-to-day sandbox hygiene
- rebuild-index — Rebuild sandbox index from discovered sandbox manifests
bmux sandbox dev
Run bmux in a dev-friendly isolated sandbox (prefers local debug build)
Usage: bmux sandbox dev <COMMAND> [OPTIONS]
Arguments:
| Name | Description | Required |
| command | bmux arguments to execute inside sandbox (pass after –) | yes |
Options:
| Flag | Description | Values | Default |
| --bmux-bin | Path to bmux binary to execute (default: ./target/debug/bmux if present) | ||
| --env-mode | Sandbox environment mode | clean, inherit, hermetic | clean |
| --json | Output sandbox metadata as JSON | true, false | |
| --print-env | Print fully resolved environment map before executing command | true, false | |
| --timeout | Kill sandbox command if it exceeds this timeout in seconds | ||
| --name | Optional human-friendly sandbox label |
bmux sandbox run
Run bmux in an isolated ephemeral environment
Usage: bmux sandbox run <COMMAND> [OPTIONS]
Arguments:
| Name | Description | Required |
| command | bmux arguments to execute inside sandbox (pass after –) | yes |
Options:
| Flag | Description | Values | Default |
| --bmux-bin | Path to bmux binary to execute (default: current executable) | ||
| --env-mode | Sandbox environment mode | clean, inherit, hermetic | clean |
| --keep | Keep sandbox directory after command exits | true, false | |
| --json | Output sandbox metadata as JSON | true, false | |
| --print-env | Print fully resolved environment map before executing command | true, false | |
| --timeout | Kill sandbox command if it exceeds this timeout in seconds | ||
| --name | Optional human-friendly sandbox label |
bmux sandbox list
List known sandbox directories and runtime status
Usage: bmux sandbox list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --status | Filter to matching status only | running, stopped, failed, all | all |
| --source | Filter to a sandbox source | sandbox-cli, playbook, recording-verify, all | all |
| --limit | Maximum entries to show | 20 | |
| --json | Output as JSON | true, false |
bmux sandbox status
Show a summary of sandbox runtime and index health
Usage: bmux sandbox status [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Output as JSON | true, false |
bmux sandbox inspect
Inspect a sandbox by id or absolute path
Usage: bmux sandbox inspect [SANDBOX] [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | no |
Options:
| Flag | Description | Values | Default |
| --latest | Inspect the most recent sandbox | true, false | |
| --latest-failed | Inspect the most recent failed sandbox | true, false | |
| --source | Filter source when resolving –latest or –latest-failed | sandbox-cli, playbook, recording-verify, all | all |
| --tail | Number of log lines to tail from sandbox logs | 80 | |
| --json | Output as JSON | true, false |
bmux sandbox tail
Print sandbox log tail without full manifest output
Usage: bmux sandbox tail [SANDBOX] [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | no |
Options:
| Flag | Description | Values | Default |
| --latest | Tail the most recent sandbox | true, false | |
| --latest-failed | Tail the most recent failed sandbox | true, false | |
| --source | Filter source when resolving –latest or –latest-failed | sandbox-cli, playbook, recording-verify, all | all |
| --tail | Number of log lines to tail from sandbox logs | 80 | |
| --json | Output as JSON | true, false |
bmux sandbox open
Open sandbox paths and repro context quickly
Usage: bmux sandbox open [SANDBOX] [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | no |
Options:
| Flag | Description | Values | Default |
| --latest | Open the most recent sandbox | true, false | |
| --latest-failed | Open the most recent failed sandbox | true, false | |
| --source | Filter source when resolving –latest or –latest-failed | sandbox-cli, playbook, recording-verify, all | all |
| --json | Output as JSON | true, false |
bmux sandbox rerun
Rerun command from an existing sandbox manifest
Usage: bmux sandbox rerun [SANDBOX] [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | no |
Options:
| Flag | Description | Values | Default |
| --latest | Rerun the most recent sandbox | true, false | |
| --latest-failed | Rerun the most recent failed sandbox | true, false | |
| --source | Filter source when resolving –latest or –latest-failed | sandbox-cli, playbook, recording-verify, all | all |
| --bmux-bin | Override bmux binary path from manifest | ||
| --env-mode | Override sandbox environment mode from manifest | clean, inherit, hermetic | |
| --keep | Keep rerun sandbox directory after command exits | true, false | |
| --json | Output sandbox metadata as JSON | true, false | |
| --print-env | Print fully resolved environment map before executing command | true, false | |
| --timeout | Kill rerun command if it exceeds this timeout in seconds | ||
| --name | Optional human-friendly sandbox label |
bmux sandbox triage
One-shot sandbox failure triage summary
Usage: bmux sandbox triage [SANDBOX] [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | no |
Options:
| Flag | Description | Values | Default |
| --latest | Triage the most recent sandbox | true, false | |
| --latest-failed | Triage the most recent failed sandbox | true, false | |
| --source | Filter source when resolving –latest or –latest-failed | sandbox-cli, playbook, recording-verify, all | all |
| --tail | Number of log lines to tail from sandbox logs | 80 | |
| --rerun | Rerun command from selected sandbox manifest | true, false | |
| --bmux-bin | Override bmux binary path from manifest for rerun | ||
| --env-mode | Override sandbox environment mode from manifest for rerun | clean, inherit, hermetic | |
| --keep | Keep rerun sandbox directory after command exits | true, false | |
| --print-env | Print fully resolved environment map before rerun command | true, false | |
| --timeout | Kill rerun command if it exceeds this timeout in seconds | ||
| --name | Optional human-friendly sandbox label for rerun | ||
| --bundle | Bundle selected sandbox diagnostics after triage | true, false | |
| --bundle-output | Optional output directory for triage bundle (default: ./sandbox-bundles) | ||
| --bundle-strict-verify | Fail triage when bundle verification reports unexpected extra artifacts | true, false | |
| --json | Output as JSON | true, false |
bmux sandbox doctor
Diagnose sandbox readiness and health checks
Usage: bmux sandbox doctor [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --id | Optional sandbox id/path for targeted checks | ||
| --fix | Apply automatic sandbox repair actions | true, false | |
| --dry-run | Preview repair actions without mutating state (requires –fix) | true, false | |
| --json | Output as JSON | true, false |
bmux sandbox bundle
Bundle sandbox diagnostics and logs into a single directory
Usage: bmux sandbox bundle <SANDBOX> [OPTIONS]
Arguments:
| Name | Description | Required |
| sandbox | Sandbox id (bmux-sbx-…) or full path | yes |
Options:
| Flag | Description | Values | Default |
| --output | Optional output directory path (default: ./sandbox-bundles) | ||
| --include-env | Include environment/context snapshot in bundle | true, false | |
| --include-index-state | Include current sandbox index state in bundle | true, false | |
| --include-doctor | Include doctor checks snapshot in bundle | true, false | |
| --verify | Verify generated bundle against recorded metadata | true, false | |
| --json | Output as JSON | true, false |
bmux sandbox verify-bundle
Verify a sandbox bundle against its recorded metadata
Usage: bmux sandbox verify-bundle <BUNDLE_DIR> [OPTIONS]
Arguments:
| Name | Description | Required |
| bundle_dir | Bundle directory path | yes |
Options:
| Flag | Description | Values | Default |
| --strict | Fail when bundle contains unexpected extra artifacts | true, false | |
| --json | Output as JSON | true, false |
bmux sandbox cleanup
Clean up sandbox temp directories from sandbox runs
Usage: bmux sandbox cleanup [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --dry-run | Only list orphaned dirs without deleting | true, false | |
| --failed-only | Remove only failed/aborted sandboxes | true, false | |
| --all-status | Include both failed and non-failed sandboxes | true, false | |
| --older-than | Minimum age in seconds before sandbox is eligible for cleanup | ||
| --source | Filter to a sandbox source | sandbox-cli, playbook, recording-verify, all | |
| --json | Output as JSON | true, false |
bmux sandbox clean
Opinionated cleanup defaults for day-to-day sandbox hygiene
Usage: bmux sandbox clean [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --dry-run | Only list orphaned dirs without deleting | true, false | |
| --all-status | Include both failed and non-failed sandboxes | true, false | |
| --older-than | Minimum age in seconds before sandbox is eligible for cleanup | ||
| --source | Filter to a sandbox source | sandbox-cli, playbook, recording-verify, all | |
| --json | Output as JSON | true, false |
bmux sandbox rebuild-index
Rebuild sandbox index from discovered sandbox manifests
Usage: bmux sandbox rebuild-index [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --json | Output as JSON | true, false |
bmux slot
Manage bmux slots (multi-version installs)
Subcommands:
- list — List all declared slots and the presentational default
- show — Show one slot’s full resolved detail
- paths — Print this slot’s resolved paths (config/runtime/data/state/log)
- doctor — Validate the slot manifest: names, duplicate runtime dirs, binaries, per-slot configs
- install — Register a new slot
- uninstall — Remove a slot from the manifest and delete its bmux-<name> binary
- shell — Print shell code that prepends $BMUX_SLOTS_BIN_DIR to PATH
- exec — Run a command with a slot’s env applied (re-execs via execvp)
- print — Print the resolved env-var set as structured data
bmux slot list
List all declared slots and the presentational default
Usage: bmux slot list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --format | Output format | toml, json, nix | toml |
bmux slot show
Show one slot’s full resolved detail
Usage: bmux slot show [NAME] [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name. Defaults to the active slot | no |
Options:
| Flag | Description | Values | Default |
| --format | Output format | toml, json, nix | toml |
bmux slot paths
Print this slot’s resolved paths (config/runtime/data/state/log)
Usage: bmux slot paths [NAME]
Arguments:
| Name | Description | Required |
| name | Slot name. Defaults to the active slot | no |
bmux slot doctor
Validate the slot manifest: names, duplicate runtime dirs, binaries, per-slot configs
bmux slot install
Register a new slot
Usage: bmux slot install <NAME> <BINARY> [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name (validates as [A-Za-z0-9._-]+, not reserved) | yes |
| binary | Path to the source bmux binary | yes |
Options:
| Flag | Description | Values | Default |
| --no-inherit-base | Disable base-config inheritance for this slot | true, false | |
| --mode | Symlink (default) or copy the binary into bin_dir | symlink, copy | symlink |
| --bin-dir | Destination bin dir for bmux-<name>. Defaults to ~/.local/bin (or $BMUX_SLOTS_BIN_DIR) | ||
| --format | Output format for the printed block | toml, json, nix | toml |
| --dry-run | Do not modify disk; only print what would happen | true, false | |
| --overwrite | Replace an existing slot with the same name. Without this flag duplicates are refused (after an interactive prompt, if a TTY is attached) | true, false | |
| -y, --yes | Skip interactive confirmation prompts. When replacing an existing slot, --overwrite is still required | true, false |
bmux slot uninstall
Remove a slot from the manifest and delete its bmux-<name> binary
Usage: bmux slot uninstall <NAME> [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name | yes |
Options:
| Flag | Description | Values | Default |
| --purge | Also remove the slot’s config/data/state/log dirs | true, false | |
| --bin-dir | Destination bin dir the slot binary lives in |
bmux slot shell
Print shell code that prepends $BMUX_SLOTS_BIN_DIR to PATH
Usage: bmux slot shell [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --shell | auto, bash, zsh, fish, nushell, powershell, posix | auto |
bmux slot exec
Run a command with a slot’s env applied (re-execs via execvp)
Usage: bmux slot exec <SLOT> <ARGV>
Arguments:
| Name | Description | Required |
| slot | Slot name to activate | yes |
| argv | Command and arguments | yes |
bmux slot print
Print the resolved env-var set as structured data
Usage: bmux slot print [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --format | shell, json, nix, fish | shell |
bmux env
Alias for bmux slot ... (same subcommand tree; useful alongside the standalone bmux-env binary for symmetry)
Subcommands:
- list — List all declared slots and the presentational default
- show — Show one slot’s full resolved detail
- paths — Print this slot’s resolved paths (config/runtime/data/state/log)
- doctor — Validate the slot manifest: names, duplicate runtime dirs, binaries, per-slot configs
- install — Register a new slot
- uninstall — Remove a slot from the manifest and delete its bmux-<name> binary
- shell — Print shell code that prepends $BMUX_SLOTS_BIN_DIR to PATH
- exec — Run a command with a slot’s env applied (re-execs via execvp)
- print — Print the resolved env-var set as structured data
bmux env list
List all declared slots and the presentational default
Usage: bmux env list [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --format | Output format | toml, json, nix | toml |
bmux env show
Show one slot’s full resolved detail
Usage: bmux env show [NAME] [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name. Defaults to the active slot | no |
Options:
| Flag | Description | Values | Default |
| --format | Output format | toml, json, nix | toml |
bmux env paths
Print this slot’s resolved paths (config/runtime/data/state/log)
Usage: bmux env paths [NAME]
Arguments:
| Name | Description | Required |
| name | Slot name. Defaults to the active slot | no |
bmux env doctor
Validate the slot manifest: names, duplicate runtime dirs, binaries, per-slot configs
bmux env install
Register a new slot
Usage: bmux env install <NAME> <BINARY> [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name (validates as [A-Za-z0-9._-]+, not reserved) | yes |
| binary | Path to the source bmux binary | yes |
Options:
| Flag | Description | Values | Default |
| --no-inherit-base | Disable base-config inheritance for this slot | true, false | |
| --mode | Symlink (default) or copy the binary into bin_dir | symlink, copy | symlink |
| --bin-dir | Destination bin dir for bmux-<name>. Defaults to ~/.local/bin (or $BMUX_SLOTS_BIN_DIR) | ||
| --format | Output format for the printed block | toml, json, nix | toml |
| --dry-run | Do not modify disk; only print what would happen | true, false | |
| --overwrite | Replace an existing slot with the same name. Without this flag duplicates are refused (after an interactive prompt, if a TTY is attached) | true, false | |
| -y, --yes | Skip interactive confirmation prompts. When replacing an existing slot, --overwrite is still required | true, false |
bmux env uninstall
Remove a slot from the manifest and delete its bmux-<name> binary
Usage: bmux env uninstall <NAME> [OPTIONS]
Arguments:
| Name | Description | Required |
| name | Slot name | yes |
Options:
| Flag | Description | Values | Default |
| --purge | Also remove the slot’s config/data/state/log dirs | true, false | |
| --bin-dir | Destination bin dir the slot binary lives in |
bmux env shell
Print shell code that prepends $BMUX_SLOTS_BIN_DIR to PATH
Usage: bmux env shell [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --shell | auto, bash, zsh, fish, nushell, powershell, posix | auto |
bmux env exec
Run a command with a slot’s env applied (re-execs via execvp)
Usage: bmux env exec <SLOT> <ARGV>
Arguments:
| Name | Description | Required |
| slot | Slot name to activate | yes |
| argv | Command and arguments | yes |
bmux env print
Print the resolved env-var set as structured data
Usage: bmux env print [OPTIONS]
Options:
| Flag | Description | Values | Default |
| --format | shell, json, nix, fish | shell |
bmux device-seal-broker
Internal sshenv device-seal broker used by panes