Git worktrees let you work on multiple branches at once, but every worktree shares the same localhost. When two dev servers try to bind the same port, one fails.
worktree-a $ npm run dev → listening on localhost:3000 ✓ worktree-b $ npm run dev → Error: port 3000 already in use ✗
Silo gives each worktree its own loopback IP. Prefix your command with silo and every worktree can bind the same port without conflict.
worktree-a $ silo npm run dev → listening on localhost:3000 ✓ (127.0.1.1) worktree-b $ silo npm run dev → listening on localhost:3000 ✓ (127.0.1.2)
No code changes. No config files. No containers.
curl -fsSL https://setup.silo.rs | sh
silo