Worktree Manager
The missing GUI for Git Worktrees.
Work on multiple branches simultaneously, across multiple repos, without stash, clone, or context-switching pain.
Download | Documentation | MCP Integration
Why Worktree Manager?
You're deep in a feature branch. Fifteen files changed. Dev server running. Then Slack pings: production is down.
Without Worktree Manager — git stash → switch branch → npm install → wait for rebuild → fix → switch back → git stash pop → pray for no conflicts → restart dev server. 15 minutes minimum.
With Worktree Manager — Click "New Worktree", type hotfix-payment, done. Your feature branch keeps running. Dependencies are shared via symlink — instant setup. Fix, push, archive. 30 seconds.
Multi-Repo Workspaces & Parallel AI Development
Group related repos into a Workspace. Creating a Worktree creates a git worktree across all linked projects at once. Each Worktree gets its own terminal — run Claude Code, Codex, or Cursor in parallel across different branches without conflicts.
Zero-Cost Context Switching
P0 alert mid-development? Create a hotfix-payment Worktree → AI-assisted fix → merge to main → archive → switch back. Uncommitted code, terminal output, dev servers — everything stays intact.
📸 Screenshots
| Main Interface | Create Worktree |
|---|---|
![]() |
![]() |
| Terminal & AI Coding | Browser Remote Access |
|---|---|
![]() |
![]() |
| Voice Input & AI Refine |
|---|
![]() |
🚀 Quick Start
Download
| Platform | Download |
|---|---|
| macOS | .dmg |
| Windows | -setup.exe |
| Linux | .AppImage / .deb |
Only requirement: Git 2.0+. No Node.js or Rust needed at runtime.
Get Started in 3 Steps
- Create a Workspace — Point to your project directory or create a new one
- Add Projects — Import repos via GitHub shorthand (
owner/repo), SSH, or HTTPS - Create Worktrees — Click "+", name your branch, select projects, go
That's it. Your worktree is ready with all dependencies symlinked and terminals pre-configured.
✨ Features
Core
| Feature | Description |
|---|---|
| 🌿 Parallel Branches | Work on multiple branches at the same time in isolated directories, sharing the same .git data |
| 📦 Multi-Repo Workspaces | Group related repos (frontend + backend + shared libs) — create a worktree and all repos switch together |
| 🔗 Smart Symlinks | Auto-link node_modules, .next, vendor, target etc. Zero disk waste, zero reinstall |
| 🏷️ Tag Organization | Tag projects by team, domain, or stack. Filter and batch-select when creating worktrees |
Git Operations
| Feature | Description |
|---|---|
| 🔄 One-Click Operations | Sync, merge to test, pull, push — all from the UI with real-time diff stats |
| 📊 Branch Insights | See how many commits you're ahead/behind at a glance |
| ⚡ Batch Actions | Trigger operations across all projects in a worktree simultaneously |
| 📝 AI Commit Messages | Generate commit messages with Qwen AI (optional) |
Terminal & Remote
| Feature | Description |
|---|---|
| 💻 Built-in Terminal | Full terminal emulator (xterm.js + PTY) with shell integration and search |
| 🎤 Voice Input | Speak to type in terminal — powered by Dashscope ASR with AI text refinement |
| 🌐 Browser Remote | Share your workspace over the network with password protection |
| 🔒 ngrok Tunneling | Optional public access via ngrok — no port forwarding needed |
Integrations
| Feature | Description |
|---|---|
| 🖥️ IDE Integration | One-click open in VS Code, Cursor, or IntelliJ IDEA |
| 🤖 AI-Ready (MCP) | Built-in MCP server — let Claude Code, Cursor, or Codex manage worktrees via natural language |
| 📁 Safe Archiving | Pre-archive checks catch uncommitted changes and running processes. Restore anytime |
❓ FAQ
A Git worktree lets you check out multiple branches into separate directories while sharing a single .git database. Unlike cloning, worktrees share history, refs, and hooks — no extra disk space for repository data. Learn more
When creating a worktree, Worktree Manager automatically creates symlinks for directories you specify (e.g., node_modules, .next, target). These point to the main project's directories, so you never need to reinstall dependencies. You can configure which folders to link per project.
Absolutely. While multi-repo workspaces are a key feature, Worktree Manager works perfectly with a single repository too.
No. The remote machine only needs a modern browser. Everything runs through the web interface — terminal, file browsing, git operations, worktree management.
Yes. Browser access is password-protected with challenge-response authentication (no plaintext passwords over the wire). You can also limit access to LAN-only or use ngrok for secure tunneling.
The built-in Model Context Protocol server lets AI coding assistants (Claude Code, Cursor, Codex) create worktrees, check status, and run git operations through natural language — without leaving your AI chat. See MCP docs for setup.
📂 How It Works
workspace/
├── .worktree-manager.json # Workspace config
├── projects/ # Main repos (base branches)
│ ├── frontend/
│ └── backend/
└── worktrees/ # Your worktrees
├── feature-checkout-v2/
│ ├── projects/
│ │ ├── frontend/ # ← git worktree (own branch)
│ │ │ └── node_modules # ← symlink to main
│ │ └── backend/
│ ├── .claude -> ../../.claude # Shared files
│ └── CLAUDE.md -> ../../CLAUDE.md
└── hotfix-payment/
└── ...
Shared items (.claude, CLAUDE.md, config files) are automatically symlinked across all worktrees so AI assistants and tooling configs stay in sync.
{
"name": "My Project",
"worktrees_dir": "worktrees",
"linked_workspace_items": [".claude", "CLAUDE.md"],
"tags": [
{ "id": "fe", "name": "Frontend", "color": "#3B82F6" },
{ "id": "be", "name": "Backend", "color": "#10B981" }
],
"projects": [
{
"name": "web-app",
"base_branch": "main",
"test_branch": "test",
"merge_strategy": "merge",
"linked_folders": ["node_modules", ".next"],
"tags": ["fe"]
}
]
}
| Format | Example |
|---|---|
| GitHub shorthand | facebook/react |
| SSH | [email protected]:facebook/react.git |
| SSH (custom port) | ssh://[email protected]:1022/org/repo.git |
| HTTPS | https://github.com/facebook/react.git |
🔧 Building from Source
Prerequisites: Node.js 20+, Rust 1.70+ (install), Git 2.0+
git clone https://github.com/guoyongchang/worktree-manager.git
cd worktree-manager
npm install
# Development
npm run build && npm run tauri dev
# Production build
npm run tauri build
# Verify command contracts (IPC ↔ HTTP sync)
npm run contracts
Tech Stack: Tauri 2 · React 19 · TypeScript 5 · Tailwind CSS 4 · Rust (axum, git2, tokio) · xterm.js
See TESTING.md for the testing strategy.
Contributing
Contributions are welcome! Please open an issue first to discuss what you'd like to change.
License
If Worktree Manager saves you time, consider giving it a ⭐!





No comments yet
Be the first to share your take.