Everything your workflow needs
Sprout handles the overhead so you stay in flow.
See everything at once
A TUI showing all your worktrees with live status, active sessions, git state, and running agents, without leaving the terminal.
Tailored multi-pane sessions
Every worktree gets its own tmux session. Configure project-specific multi-pane layouts, auto-running dev servers, and consistent toolsets in one TOML rule.
An AI agent per branch
Run Codex, Aider, Claude Code, or Gemini inside each worktree. Each agent keeps its own independent context.
Work in parallel, ship faster
Tackle a hotfix, a feature, and a review at the same time. No stashing. No branch juggling. Every worktree stays ready.
Always a clean repo root
Worktrees live in a sibling directory. Your main checkout stays clean and easy to navigate.
Feels native to your shell
Shell hooks for zsh, bash, and fish let you navigate worktrees exactly like any other directory.
A few commands.
Simple, memorable commands that stay out of your way.
A TUI built for parallel work.
Run sprout ui for a three-pane interface: every branch, its tmux session, git state, and running agent, all visible at once.
- Jump between worktrees with a single keypress
- Watch live agent output and git diffs side by side
- Start, stop, and attach to agents without switching tabs
Configure your ideal environment.
Define every window and pane exactly how you work. Sprout scaffolds your entire workspace using simple TOML rules — from code editors to auto-running development servers.
# Match the layout shown on the left
[[windows]]
name = "main"
layout = "main-horizontal"
panes = [
{ run = "nvim ." },
{ run = "go run main.go" }
]
[[windows]]
name = "agent"
panes = [{ run = "codex" }]
[[windows]]
name = "git"
panes = [{ run = "lazygit" }]- Define project-specific split layouts
- Auto-run your dev server or logs on launch
- Perfectly consistent environments every time
Stop stashing. Start sprouting.
brew tap joegrabski/sprout && brew install sprout