Seamlessly manage tmux sessions alongside git worktrees โ right from VS Code.
๐ Read this in other languages: English | ํ๊ตญ์ด | ็ฎไฝไธญๆ | ็น้ซไธญๆ (ๅฐ็ฃ) | ็น้ซไธญๆ (้ฆๆธฏ) | ๆฅๆฌ่ช
- Image-aware terminal paste:
Cmd+V/Ctrl+Shift+Vkeeps normal text paste, but auto-inserts an image file path when clipboard has an image. - Remote-SSH clipboard bridge: local clipboard images can be pasted into remote terminals without manual upload steps.
- Collision-safe session identity: sessions use
repo-name + path hashnamespace and slug disambiguation for same-name repos and similar paths. - Legacy-compatible migration: previous session prefixes are still detected when
@workdirbelongs to the repo. - No-git fallback visibility: even non-git folders still appear as
current project (no git)instead of disappearing from the tree.
If you use git worktree for parallel development and tmux for persistent terminal sessions, you know the pain of manually juggling both. This extension bridges the gap:
- One click to create a worktree + tmux session together
- Tree view showing all worktrees with their tmux status
- Auto-attach to the right tmux session when you open a worktree
- Never lose context โ sessions persist even if VS Code closes
Run AI coding agents (Claude Code, Codex, OpenCode, Gemini CLI) inside tmux sessions. Your agent keeps running in the background โ reconnect from anywhere, even from a phone via Termux.
๐ค Parallel Development with AI Agents
project/
โโโ main โ tmux: "myapp/main" (Claude Code refactoring)
โโโ feature/oauth โ tmux: "myapp/feature-oauth" (manual coding)
โโโ fix/memory-leak โ tmux: "myapp/fix-memory-leak" (Codex analyzing)
Run independent AI agents on each branch, check results in VS Code. Sessions keep working in the background.
๐ Remote Server Development Connected to a dev server via SSH:
- Use VS Code Remote-SSH to connect
- Manage branch sessions with TMUX Worktree
- SSH disconnect? tmux sessions persist
- Reconnect from home, cafรฉ, or phone
๐ฑ Mobile Code Review Access from phone via Termux + SSH:
ssh dev-server
tmux attach -t myapp/feature-oauthReview AI-written code during your commute.
A dedicated sidebar showing all your git worktrees and their associated tmux sessions at a glance. See session status, pane count, and last activity time.
Create a new git branch + worktree + tmux session in one step. Start working on a new feature instantly.
- Attach in Terminal โ open tmux session in VS Code's integrated terminal
- Attach in Editor โ embed tmux session as an editor tab
- Auto-attach โ automatically connect when opening a worktree folder
Detect and clean up tmux sessions that no longer have matching worktrees. Keep your environment tidy.
- Split panes and create new windows from the context menu
- Copy worktree paths to clipboard
- Open worktrees in new VS Code windows
- Filter sessions by name
Cmd+V(macOS) /Ctrl+Shift+V(Linux) in terminal first checks clipboard content- If clipboard has text, it keeps the default paste behavior
- If clipboard has an image, it saves a temporary
.pngand inserts the file path into terminal - Works with local sessions and Remote-SSH (webview bridge uploads local clipboard image to remote host)
- Force image-only mode from Command Palette:
TMUX: Paste Image from Clipboard
- Session namespace uses
repo-name + path hashto avoid collisions between same-name repositories in different directories - Legacy session names are still detected for compatibility when
@workdirpoints inside the current repo - Worktrees with colliding slugs are auto-disambiguated (parent folder, then path hash)
- Non-git folders are still shown in the tree as
current project (no git)
| Command | Description |
|---|---|
TMUX: Attach/Create Session |
Attach to or create a tmux session for the current worktree |
TMUX: New Task |
Create a new branch + worktree + tmux session |
TMUX: Remove Task |
Remove a worktree and its tmux session |
TMUX: Cleanup Orphans |
Remove orphaned tmux sessions |
TMUX: Smart Paste (Image Support) |
Smart terminal paste: text uses normal paste, image inserts temporary file path |
TMUX: Paste Image from Clipboard |
Force image paste and insert the saved image path into the active terminal |
- v1.1.6: Added image-aware terminal paste for AI CLI workflows (
Cmd+V/Ctrl+Shift+V) and a force image paste command. Also improved startup auto-attach sizing stability to reduce occasional small terminal rendering until a manual window resize. - v1.1.4 - v1.1.5: Improved tmux clipboard reliability by enabling clipboard capabilities and passthrough options during attach.
- v1.1.3: Refactored legacy session-prefix compatibility logic for safer migration.
- v1.1.2: Added slug collision handling and explicit no-git workspace labeling (
current project (no git)).
- tmux โ must be installed and available in PATH
- git โ must be installed and available in PATH
- VS Code 1.85.0+
- Install the extension
- Open a git repository in VS Code
- Click the TMUX icon in the Activity Bar (sidebar)
- Your existing worktrees and tmux sessions will appear automatically
To create a new task: click the + button in the TMUX panel header, enter a branch name, and you're ready to go.
Repository (root)
โโโ main โ tmux session: "project-a1b2c3d4_main"
โโโ feature/login โ tmux session: "project-a1b2c3d4_feature-login"
โโโ fix/bug-123 โ tmux session: "project-a1b2c3d4_fix-bug-123"
Each worktree gets a dedicated tmux session. Session names use a repo namespace (repo-name + path hash) plus a slug, which avoids collisions across same-name repositories in different directories.
