smug is a terminal multiplexer session manager for tmux that lets you define and start pre-configured tmux sessions from YAML configuration files.
At a Glance
Pricing
Fully free and open source under the MIT license.
Engagement
Available On
Listed Mar 2026
About smug
smug is a command-line session manager for tmux that automates the creation and management of complex terminal workspace layouts. It reads YAML configuration files to define windows, panes, commands, and layouts, then launches fully configured tmux sessions with a single command. smug is written in Go and distributed as an open-source tool under the MIT license, making it easy to version-control your development environments alongside your projects.
- YAML-based configuration: Define tmux sessions declaratively in YAML files, specifying windows, panes, layouts, working directories, and startup commands.
- Session start/stop: Use
smug start <config>andsmug stop <config>to spin up or tear down entire tmux session setups instantly. - Project-scoped configs: Store
.smug.ymlfiles in project directories so each project can have its own reproducible terminal workspace. - Window and pane layouts: Configure split directions, sizes, and tiling layouts for panes within each window, matching tmux's native layout options.
- Command execution: Automatically run shell commands in each pane on session start, such as starting servers, watchers, or REPLs.
- Preview mode: Use
smug editto open the config file in your default editor, andsmug listto see all available session configs. - Cross-platform CLI: Runs on any Unix-like system (Linux, macOS) where tmux is installed; distributed as a single compiled binary.
- Go-based and open source: Source code is publicly available on GitHub under the MIT license, welcoming contributions and custom builds.
Community Discussions
Be the first to start a conversation about smug
Share your experience with smug, ask questions, or help others learn from your insights.
Pricing
Open Source
Fully free and open source under the MIT license.
- YAML-based tmux session configuration
- Session start and stop
- Window and pane layout management
- Automatic command execution
- Single binary distribution
Capabilities
Key Features
- YAML-based tmux session configuration
- Session start and stop commands
- Window and pane layout management
- Automatic command execution on session start
- Project-scoped configuration files
- List available session configs
- Edit config via default editor
- Single compiled binary distribution
- MIT licensed open source
