Quick Start
The current CLI is server-backed by default. Running bmux with no subcommand starts or reuses a server, creates a session when needed, and attaches.
# Start or inspect the server
bmux server start
bmux server status
bmux server stop
# Create and attach sessions
bmux new-session dev
bmux list-sessions
bmux attach dev
# Work with windows
bmux window new --session dev --name editor
bmux window list --session dev
# Multi-client collaboration
bmux list-clients
bmux follow <client-uuid>
bmux unfollow
# Logging
bmux logs path
bmux logs level
bmux logs tail
bmux logs path --json
bmux logs level --json
bmux logs tail --since 15m --lines 200
bmux logs watch --exclude "bmux server listening"
bmux logs watch --profile incident-db
bmux logs profiles list
bmux logs watch uses a ratatui interface and supports Vim-style navigation (j/k, g/G, Ctrl-u/Ctrl-d).
Top-level and grouped command forms are supported in many areas of the CLI.
All list commands with --json output a bare JSON array.
Logging defaults:
- file sink is enabled by default
- default level is info
- --verbose raises level to debug
- --log-level supports error|warn|info|debug|trace
Environment overrides:
- BMUX_LOG_LEVEL: effective runtime log level
- BMUX_LOG_DIR: explicit log directory
- BMUX_STATE_DIR: explicit state directory
Role policy: owner controls session and window mutations plus role changes, writer can send attach input, and observer is read-only.