docs/cli/overview.mdx
The msb CLI lets you create, manage, and interact with sandboxes from the terminal. It auto-detects TTY and interactivity, so no -it flags are needed. If your terminal is interactive, msb acts accordingly.
The same CLI drives microsandbox cloud when an API key is set. A few commands are local-only or limited on cloud, including image-cache commands, msb metrics, bounded msb logs, msb ssh serve, and disk-sized volume creation. Individual pages flag these commands, and the cloud compatibility section summarizes them.
brew install superradcompany/tap/microsandbox
irm https://install.microsandbox.dev/windows | iex
On Linux and macOS, the install script writes the runtime to ~/.microsandbox/ and creates command links in ~/.local/bin/. It does not edit shell startup files. If ~/.local/bin is not on your PATH, the installer prints the command to add it. On macOS, Homebrew provides the same CLI through the official tap. On Windows, use PowerShell. Windows support is currently in preview.
Check your local setup with:
msb doctor
# Run a one-off command (ephemeral, auto-removed)
msb run python -- python -c "print('Hello!')"
# Interactive shell (auto-detects TTY)
msb run alpine -- sh
# Create a persistent sandbox
msb run --name devbox ubuntu -- bash
# Resume later
msb start devbox
# Execute in a running sandbox
msb exec devbox -- sh -c "apt update && apt install -y cowsay && /usr/games/cowsay \"Hello from devbox\""
# Manage
msb ls # List all sandboxes
msb ps # Running sandboxes only
msb metrics # Live CPU/memory/network stats
msb inspect devbox # Detailed info
msb logs devbox # Captured stdout/stderr (works on stopped sandboxes too)
msb logs devbox -f # Follow live
msb stop devbox # Graceful shutdown
msb rm devbox # Remove stopped sandbox
# SSH
msb ssh authorize --file ~/.ssh/id_ed25519.pub
msb ssh devbox
msb ssh devbox -- uname -a
msb ssh serve devbox --host 127.0.0.1 --port 2222
# Images
msb pull python # Pre-pull to cache
msb images # List cached images
msb rmi python # Remove a cached image
# Volumes
msb volume create data
msb volumes # Also: msb vols
msb volume rm data
# Install as a system command
msb install ubuntu # Install as 'ubuntu' command
msb uninstall ubuntu # Remove installed command
# Self-management
msb doctor # Alias for 'msb self doctor'
msb doctor --fix # Try supported host setup fixes
msb self doctor # Check runtime files and supported host prerequisites
msb self update # Update msb to latest
msb self downgrade 0.6.0 # Downgrade to a supported older release
msb self uninstall # Remove msb
# Shell completion
msb completion zsh # Print the zsh completion script
| Flag | Description |
|---|---|
--tree | Display the complete command tree with descriptions |
--error | Show only errors |
--warn | Show warnings and errors |
--info | Show info, warnings, and errors |
--debug | Show debug output |
--trace | Show all output including trace |
msb completion <shell> prints a completion script for bash, zsh, fish, elvish, or powershell. Write it to the location your shell loads completions from:
mkdir -p ~/.zsh/completions
msb completion zsh > ~/.zsh/completions/_msb
# Add this line to ~/.zshrc before compinit runs:
# fpath=(~/.zsh/completions $fpath)
mkdir -p ~/.config/fish/completions
msb completion fish > ~/.config/fish/completions/msb.fish
mkdir -p ~/.config/elvish/completions
msb completion elvish > ~/.config/elvish/completions/msb.elv
# Add this line to ~/.config/elvish/rc.elv:
# eval (slurp < ~/.config/elvish/completions/msb.elv)
$completions = Join-Path (Split-Path $PROFILE) "completions"
New-Item -Path $completions -ItemType Directory -Force | Out-Null
msb completion powershell > (Join-Path $completions "msb.ps1")
# Add this line to your profile ($PROFILE):
# . "$PSScriptRoot/completions/msb.ps1"
Then restart your shell.
Use --tree as an alternative to --help to see every command, subcommand, and flag at once:
msb --tree
You can scope it to a specific subcommand:
msb image --tree # Show only image commands
msb volume --tree # Show only volume commands
msb run --tree # Show all flags for run
For detailed command reference, see Sandbox commands, SSH commands, Volume commands, and Image commands. For the SSH model and usage patterns, see SSH.