Parallel development in tmux* with Git worktrees Developer Raine released workmux, a command-line tool that integrates git worktrees with tmux windows to create isolated development environments for parallel workflows, including running multiple AI agents without conflict. The tool automates setup, cleanup, and branch management, and supports terminal multiplexers like tmux, kitty, WezTerm, and Zellij. Parallel development in tmux with git worktrees πŸ“– Documentation https://workmux.raine.dev/ Β· Install installation Β· Quick start quick-start Β· Commands commands Β· Changelog /raine/workmux/blob/main/CHANGELOG.md Giga opinionated zero-friction workflow tool for managing git worktrees https://git-scm.com/docs/git-worktree and tmux windows as isolated development environments. Perfect for running multiple AI agents in parallel without conflict. Philosophy : Build on tools you already use. tmux/zellij/kitty/etc. for windowing, git for worktrees, your agent for coding - workmux ties them together. Also supports kitty, WezTerm, and Zellij as alternative backends. πŸ“– New to workmux? Read the introduction blog post https://raine.dev/blog/introduction-to-workmux/ for a quick overview. Tip I'm building aven https://github.com/raine/aven , a local-first task manager for power users and agents who live in the terminal. Parallel workflows. Work on multiple features the same time, each with its own AI agent. No stashing, no branch switching, no conflicts. One window per task. A natural mental model. Each has its own terminal state, editor session, dev server, and AI agent. Context switching is switching tabs. Automated setup. New worktrees start broken no .env , no node modules , no dev server . workmux can copy config files, symlink dependencies, and run install commands on creation. One-command cleanup. workmux merge handles the full lifecycle: merge the branch, delete the worktree, close the tmux window, remove the local branch. Terminal workflow. Build on your terminal setup instead of yet another agentic GUI that won't exist next year. If you don't have one yet, tmux might be worth picking up. New to worktrees? See Why git worktrees? why-git-worktrees - Create git worktrees with matching tmux windows in a single command add - Merge branches and clean up everything worktree, tmux window, branches in one command merge Dashboard workmux-dashboard for monitoring agents, reviewing changes, and sending commands Sidebar https://workmux.raine.dev/guide/sidebar/ for a persistent, at-a-glance view of all agents across tmux windows Delegate tasks to worktree agents delegating-tasks-with-worktree with the /worktree skill Display agent status in tmux window names agent-status-tracking - Automatically set up your preferred tmux pane layout editor, shell, watchers, etc. - Run post-creation hooks install dependencies, setup database, etc. - Copy or symlink configuration files .env , node modules into new worktrees Sandbox agents sandbox in containers or VMs for enhanced security Automatic branch name generation automatic-branch-name-generation from prompts using LLM- Shell completions "I've been using and loving workmux which brings together tmux, git worktrees, and CLI agents into an opinionated workflow." β€” @Coolin96 πŸ”— "Thank you so much for your work with workmux It's a tool I've been wanting to exist for a long time." β€” @rstacruz πŸ”— "It's become my daily driver - the perfect level of abstraction over tmux + git, without getting in the way or obscuring the underlying tooling." β€” @cisaacstern πŸ”— "I have to mention workmux at every opportunity because it's the perfect glue between worktrees, agents and tmux windows." β€” @dedbrizz πŸ”— curl -fsSL https://raw.githubusercontent.com/raine/workmux/main/scripts/install.sh | bash brew install raine/workmux/workmux Other methods Cargo, mise, Nix Cargo requires rustup https://rustup.rs/ : cargo install workmux mise: mise use -g cargo:raine/workmux Nix flake and home-manager setup https://workmux.raine.dev/guide/nix : nix profile install github:raine/workmux For manual installation, see pre-built binaries https://github.com/raine/workmux/releases/latest . Note workmux requires a terminal multiplexer. Make sure you have tmux https://github.com/tmux/tmux or WezTerm https://raine.github.io/workmux/guide/wezterm / Kitty https://raine.github.io/workmux/guide/kitty / Zellij https://raine.github.io/workmux/guide/zellij installed and running before you start. See My tmux setup https://raine.dev/blog/my-tmux-setup/ if you need a starting point. - Initialize configuration optional : workmux init This creates a .workmux.yaml file to customize your workflow pane layouts, setup commands, file operations, etc. . workmux works out of the box with sensible defaults, so this step is optional. - Create a new worktree and tmux window : workmux add new-feature This will: - Create a git worktree at