willow

willow

Manage worktrees.

Monitor agents.

Ship faster.

A git worktree manager built for AI agent workflows.
Spin up isolated worktrees, switch between them with fzf, and see agent status in real time.

$ brew install iamrajjoshi/tap/willow
ww new + ww ls + ww status
willow workflow demo

Features

Create, switch, monitor, and clean up worktrees.

🤖

Parallel agent worktrees

Run multiple local Claude Code or Codex sessions in isolated worktrees.

parallel agent worktrees
Parallel agent worktrees demo
📡

Live Status Tracking

See which agents are BUSY, WAIT, DONE, or IDLE in real time with Claude Code and Codex hook integration.

live status tracking
Live Status Tracking demo

fzf-Powered Switching

Switch between worktrees instantly with an fzf picker that shows agent status. Two keystrokes.

🌿

Git-Native

Thin wrapper around git worktree. No custom database — state comes from git itself.

🖥️

Tmux Integration

Popup worktree picker, live agent output preview, status bar widget. One keybinding.

📚

Stacked PRs

Create chains of dependent branches. Rebase entire stacks with a single command.

How it works

Three steps from clone to isolated local sessions.

1

Clone

Set up a repo for worktree-first workflow with a single command.

ww clone git@github.com:org/repo.git
2

Create worktrees

Spin up isolated directories for each task. Start Claude Code or Codex in each.

wwn feature/auth && codex
3

Monitor agents

See all your agents at a glance. Switch between them with fzf.

ww status

Commands

Create, switch, monitor, and clean up worktrees.

$ ww new feature/auth --no-fetch
✨ Created worktree at <willow-base>/worktrees/myrepo/feature/auth
   Branch: feature/auth (from main)

Agent status

After setup, Claude Code and Codex CLI automatically report their state.

🤖 BUSY DONE WAIT🟡 IDLE
ww status
ww status demo
ww dashboard
ww dashboard demo

Install

brew install iamrajjoshi/tap/willow