Worktree Manager

Git Worktree Manager

An elegant Git Worktree visual management tool for efficient multi-branch parallel development. Supports remote sharing and real-time collaboration.

Download Latest GitHub Get Started

Download & Install

Ready to use, with auto-updates

macOS (Intel + ARM)
Windows
Linux
Built-in auto-update -- new versions are pushed automatically, no manual downloads needed

macOS Installation Guide

1

Download the .dmg file, open it and drag the app into the Applications folder.

2

If you see "cannot verify the developer" on first launch, right-click the app and select "Open".

3

If it still won't open, go to System Settings → Privacy & Security, find the prompt at the bottom and click "Open Anyway".

4

If none of the above works, open Terminal and run:

xattr -cr "/Applications/Worktree Manager.app"

Sound familiar?

Productivity black holes every developer has experienced

🔥 Production is on fire, but your work isn't committed yet

You're on feature/checkout-v2 refactoring the checkout flow, with a dozen files changed and npm run dev hot-reloading. Slack fires off an alert: payment callback is returning 500 in production.

The traditional approach: git stash → switch to hotfixnpm install (dependency versions differ, need to reinstall) → fix and push → switch back → git stash pop → pray there are no conflicts → restart dev server and wait for build cache to rebuild. At least 15 minutes, while production is still down.

Traditional Approach

git stash checkout hotfix npm install fix bug push checkout back stash pop npm install
8 steps · 15+ minutes · possible conflicts

Worktree Manager

Click "+" to create hotfix fix bug push archive
4 steps · 30-second switch · zero impact on original branch

node_modules automatically shared via symlink, ready in seconds. Your feature branch dev server keeps running, and your in-progress code stays untouched.

💥 Frontend-backend alignment breaks during debugging

Your project has separate repos: web and api. Working on the "membership" feature, both repos need to be on feature/membership. But a colleague asks you to check their feature/search issue—you switch the frontend but forget the backend. White screen, 404 errors, 30 minutes of debugging before realizing the branches are misaligned.

Traditional: manually align two repos

cd web && git checkout cd api && git checkout forgot one? 404 / white screen debug 30 min
Multi-repo alignment by memory · bound to fail

Worktree Manager: one worktree = one environment

Create membership worktree web + api auto checkout develop
Switch worktree = switch entire work environment

One worktree binds multiple project repos. When created, all repos check out to the corresponding branch simultaneously. No more "only switched half" problems.

🔄 Merge to test branch through muscle memory

Feature is done, time to merge into test for QA. Every time: git checkout testgit pullgit merge feature/xxx → resolve conflicts → git pushgit checkout feature/xxx back. With 3-4 features a day, this becomes mind-numbing repetition, and sometimes you forget to switch back and keep developing on test.

Traditional Approach

checkout test git pull git merge resolve conflicts git push checkout back
6 steps · repeat for every merge · easy to forget switching back

Worktree Manager

Click "Merge to test"
1 step · stay on current branch · real-time status visible

Each project card has "Merge to test", "Sync base", and "Push" buttons right below. Branch status (commits ahead/behind, whether merged to test) updates in real-time at a glance.

🌐 Away from office, want to check code on your work machine

Your dev machine is on the office network. While traveling, you want to check code status or run a few terminal commands. Traditional solutions mean either SSH tunnels (tedious setup) or VPN + remote desktop (laggy).

Traditional Approach

configure VPN remote desktop lag & latency
Complex setup · laggy display · depends on company network

Worktree Manager

Click "Share" Send link Open in browser
3 steps · no installation needed · WMS tunnel / ngrok for public access

Enable sharing for LAN access, or use the WMS built-in tunnel or ngrok for public internet access. Open in any browser, authenticate with a password, and view workspace status or use the built-in terminal—no client installation needed.

How Git Worktree Manager solves these problems?

Built on Git's native worktree capability, it checks out multiple branches into independent directories within the same repository, sharing the .git data. Combined with automatic symlinking of node_modules and other large folders, it enables zero-cost switching with zero extra disk usage.

Core Features

Built for multi-branch development

🔀

Multi-Branch Parallel Work

Work on multiple branches simultaneously in one project, without interference. No stashing, no cloning multiple copies.

🔗

Smart Folder Linking

Automatically links node_modules, .next, vendor and other build artifacts to avoid redundant dependency installations. Supports custom paths.

📂

Global File Sharing

Files like .claude, CLAUDE.md, requirement-docs can be configured as global links, shared across all worktrees.

📊

Branch Status Monitoring

Real-time display of commit counts, uncommitted changes, test branch merge status, and more at a glance.

🚀

Quick IDE Launch

Open any worktree with VS Code, Cursor, IntelliJ IDEA and more in one click. Supports dropdown quick-switch between editors.

💻

Built-in Terminal

Each worktree has independent terminal sessions with multi-tab, tab duplication, and fullscreen support. Terminal state auto-saves when switching worktrees.

📦

Safe Archiving

Automatically checks for uncommitted and unpushed code before archiving to prevent data loss. Supports one-click restore.

🔌

Multiple Clone Methods

Add projects via GitHub shorthand, SSH, or HTTPS.

🪟

Multi-Window Support

Each workspace can open in an independent window, allowing simultaneous operation of multiple workspaces without interference.

🔍

Smart Folder Scan

Automatically scans for large folders in your project that can be linked (like node_modules, .next, dist), and adds them to link configuration with one click.

⌨️

Keyboard Shortcuts

Escape to exit fullscreen or close menus, terminal fullscreen mode, and more for efficient operation.

🔄

Auto Update

Built-in auto-update pushes new version notifications and upgrades to the latest version with one click.

Background Remote Sync

Git remote status refreshes in the background while local data loads instantly. Branch switching stays smooth, action buttons disable as needed, and sync progress is visible in real-time.

🎙️

Voice Input macOS

Speak into the microphone and voice is automatically transcribed to text in the terminal. Supports voice commands (enter, delete, clear, etc.), 2-second silence auto-stop, fully local processing.

🛰️

WMS Built-in Tunnel NEW

Zero-config public internet access via the WMS tunnel server. No third-party tools needed—just click share and get a public URL with automatic subdomain assignment and WebSocket relay.

🧠

AI Voice Refinement NEW

AI-powered post-processing for voice input. Automatically corrects recognition errors, normalizes command syntax, and intelligently interprets developer intent for more accurate terminal input.

📱

QR Code Sharing NEW

Generate a QR code for instant mobile access to your shared workspace. Scan and connect from any device—perfect for quick demos and on-the-go collaboration.

🌐

Remote Sharing & Collaboration

Share your workspace with one click. Colleagues access it through a browser. Supports LAN direct, WMS tunnel, and ngrok tunneling, with built-in password protection and browser terminal.

Remote Sharing & Real-time Collaboration

No installation needed, open in browser

📡

LAN Direct

Click "Share" on the desktop app to generate a password-protected link. Colleagues on the same network can open it in their browser to see your workspace—no software installation required.

🛰️

WMS Built-in Tunnel

Zero-configuration public internet access via the WMS tunnel server. No ngrok token needed—get a public URL instantly with automatic subdomain and WebSocket relay.

🌍

ngrok Tunnel

Not on the same network? Configure an ngrok token and enable internet tunneling with one click to generate a public address for remote access anytime, anywhere.

📱

QR Code Sharing

Generate a QR code for any sharing link. Scan with your phone or tablet for instant access—perfect for demos, quick checks, and cross-device collaboration.

🔑

Password-embedded Links

Share links with the password embedded in the URL hash. Recipients connect instantly without manual password entry—secure and frictionless.

👩‍💻

Client Management

Monitor connected clients in real-time, view session details, and kick users when needed. Full control over who accesses your shared workspace with built-in browser terminal.

Three Steps to Start

Get started with multi-branch parallel development in minutes

1

Create a Workspace

After launching the app, click the "New Workspace" button in the top-left corner and select a directory as the workspace root. The app will automatically initialize the directory structure and detect Git projects within it.

  • New workspace: Select an empty directory, and the app will automatically create projects/ and worktrees/ directories
  • Import existing projects: Select a directory containing Git projects, and the app will auto-detect and import them
  • You can also add new projects via GitHub shorthand (e.g., owner/repo), SSH, or HTTPS URLs
2

Create a Worktree (Working Branch)

Click the "+" button in the sidebar to open the dialog and configure:

  • Enter a branch name (e.g., feature/login), supporting feature/, hotfix/ naming conventions
  • Select which projects to include (multi-select)
  • Choose a base branch (defaults to main)
  • node_modules and other configured folders are automatically linked from the main repo—no need to reinstall dependencies
3

Start Developing

Click to switch between worktrees in the list, and open any with your favorite IDE in one click. Each branch's code, dependencies, and terminal are fully isolated.

  • Click the IDE button to quickly open projects in VS Code, Cursor, IDEA, etc.
  • Use the built-in terminal to run commands without switching windows
  • Monitor branch status in real-time: commit counts, unpushed changes, test branch merge status
  • Archive worktrees when done to keep your workspace tidy

Workspace Directory Structure

workspace/
├── .worktree-manager.json        # Workspace configuration
├── projects/                     # Main repos (main branch)
│   ├── frontend/
│   └── backend/
├── worktrees/                    # Worktree directory (auto-created)
│   ├── feature-login/
│   │   ├── projects/
│   │   │   ├── frontend/         # Independent branch working directory
│   │   │   └── backend/
│   │   ├── .claude → ../../.claude   # Auto-linked
│   │   └── CLAUDE.md → ../../CLAUDE.md
│   └── hotfix-bug/
│       └── ...
├── .claude/
└── CLAUDE.md
🛠️ Build from Source (for developers)
# Requirements: Node.js 20+, Rust 1.70+, Git 2.0+ # Clone the project git clone https://github.com/guoyongchang/worktree-manager.git cd worktree-manager # Install dependencies npm install # Run in development mode npm run tauri dev # Build for production npm run tauri build

Tech Stack

Built with modern technology

Framework Tauri 2
Frontend React 19
Languages TypeScript + Rust
Styling Tailwind CSS 4
UI Components Radix UI
Build Tool Vite 7