dmux is an open-source command-line tool designed to run multiple AI coding agents in parallel using terminal multiplexing (tmux) and git worktrees. It provides a streamlined way to orchestrate concurrent agent sessions, each isolated in its own tmux pane and git worktree, eliminating conflicts and enabling safe, efficient parallel development. The tool integrates with popular AI coding agents like Claude Code and Codex, automatically managing the lifecycle of each session—from creating the worktree and attaching the agent to cleaning up resources when tasks are complete. dmux includes a built-in hook system (.dmux-hooks) that allows developers to inject custom logic at key stages (e.g., worktree creation, agent stop), making it highly adaptable to different workflows. A frontend dashboard (accessible via a local web interface) provides real-time monitoring of all agent sessions, including outputs, statuses, and resource usage. With support for bulk text input, efficient key handling, and compatibility with various terminal emulators, dmux is optimized for heavy-duty agent orchestration in hacking, refactoring, and multi-task coding scenarios. The tool is packaged as an npm module and can be installed globally with a single command, requiring only tmux and git as dependencies. It is actively maintained with frequent releases (current version v5.9.0) and a growing community of contributors and users.
Solves
Developers and AI engineers often need to run multiple AI coding agents simultaneously to parallelize large tasks, experiment with different prompts or models, or manage independent features without conflicts. Manual management of multiple terminal sessions and codebases leads to disorganization, merge headaches, and wasted time. dmux solves this by automating the creation of isolated git worktrees and launching each agent inside a dedicated tmux pane, ensuring that agents operate on separate checkouts without interfering with each other. This allows users to scale agent parallelism effortlessly, monitor all agents from a single interface, and safely clean up when tasks complete.