workmux
A CLI tool that combines git worktrees with tmux windows to create isolated, parallel development environments for running multiple AI agents simultaneously.
At a Glance
Fully free and open-source under the MIT License. No cost to use, modify, or distribute.
Engagement
Available On
Alternatives
Listed Apr 2026
About workmux
workmux is an opinionated, zero-friction workflow tool written in Rust that orchestrates git worktrees and tmux windows as isolated development environments. It is designed for developers who want to run multiple AI agents in parallel on different tasks without branch switching, stashing, or conflicts. Each worktree gets its own terminal state, editor session, dev server, and AI agent — context switching is as simple as switching tmux tabs. The tool automates the full lifecycle from creation to cleanup with single commands.
workmux add: Create a new git worktree with a matching tmux window in one command, automatically copying config files, symlinking dependencies, and running post-create hooks.workmux merge: Merge a branch into main and clean up the worktree, tmux window, and local branch all in one step.workmux remove: Remove worktrees without merging, with support for bulk removal of gone/stale branches after PRs are merged.- TUI Dashboard: Monitor all active AI agents across tmux sessions, review diffs, stage hunks interactively, and send commands — all from a single dashboard (
workmux dashboard). - Sidebar: Toggle a persistent, compact agent status sidebar visible across all tmux windows for at-a-glance monitoring.
- AI Agent Integration: Automatically inject prompts into agent panes (Claude, Gemini, Codex, OpenCode, Kiro, and more) via
--prompt,--prompt-file, or--prompt-editorflags. - Automatic Branch Naming: Use
--auto-name(-A) to generate branch names from a prompt using an LLM, powered by your configured agent CLI. - Parallel Multi-Worktree Generation: Spin up multiple worktrees at once using
--count,--foreach, multiple--agentflags, or stdin piping with Jinja2 prompt templating. - Agent Status Tracking: Display live agent status icons (working 🤖, waiting 💬, done ✅) in tmux window names via hooks for Claude Code, Gemini, Codex, OpenCode, and more.
- Sandbox Support: Run agents inside Docker/Podman/Apple Container or Lima VMs to isolate them from host secrets and sensitive files.
- Session Mode: Optionally give each worktree its own tmux session with multiple windows instead of a single window.
- Shell Completions: Generate tab completions for bash, zsh, and fish with dynamic branch name suggestions.
- Alternative Backends: Supports WezTerm, kitty, and Zellij in addition to tmux, auto-detected from environment variables.
- Two-Level Configuration: Global (
~/.config/workmux/config.yaml) and per-project (.workmux.yaml) configs with override semantics and"<global>"placeholder merging.
Community Discussions
Be the first to start a conversation about workmux
Share your experience with workmux, ask questions, or help others learn from your insights.
Pricing
Open Source (MIT)
Fully free and open-source under the MIT License. No cost to use, modify, or distribute.
- Full CLI with all commands (add, merge, remove, list, open, close, dashboard, sidebar, etc.)
- Git worktree + tmux window management
- AI agent prompt injection and status tracking
- Sandbox support (Docker/Podman/Lima)
- Shell completions
Capabilities
Key Features
- Create git worktrees with matching tmux windows in a single command
- One-command merge and cleanup (worktree, window, branch)
- TUI dashboard for monitoring parallel AI agents
- Persistent sidebar for at-a-glance agent status
- AI agent prompt injection (Claude, Gemini, Codex, OpenCode, Kiro)
- Automatic branch name generation from prompts using LLM
- Parallel multi-worktree generation with --count, --foreach, stdin
- Agent status tracking in tmux window names
- Sandbox agents in Docker/Podman/Lima VMs
- Session mode with multiple windows per worktree
- Post-create hooks and file copy/symlink automation
- Named pane layouts
- Shell completions for bash, zsh, fish
- Alternative backends: WezTerm, kitty, Zellij
- Two-level configuration (global + per-project)
- Interactive patch mode for staging hunks
- Worktree resurrection after crashes
- PR checkout via GitHub CLI integration
