Skip to content

maddada/VSmux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

137 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSmux - T3code & Agent CLIs Manager

Manage all your CLI coding agent sessions without leaving your IDE.

For VS Code: https://marketplace.visualstudio.com/items?itemName=maddada.VSmux

For Cursor and Others: https://open-vsx.org/extension/maddada/VSmux

Latest Release: 2.1.0

  • More polished workspace terminal behavior, especially when panes become visible again, refresh, or reconnect.
  • Cleaner terminal presentation in the workspace, with updated visuals and better title/state updates.
  • Safer sidebar organization flows with sturdier drag and drop for sessions, agents, and commands.

Full release notes: CHANGELOG.md


VSmux v1.11 Screenshot


Early version video showing the core experience of VSmux (will create a new video soon showing all of the new stuff): https://x.com/i/status/2034602427442503890


This extension is for you if:

  • You like to code using multiple agent CLIs in parallel.
  • You don't want to be locked into a tool like conductor or superset or w/e.
  • You don't want to be missing out on the new features that are coming to the CLIs first.
  • You also love to be close to the code for some projects and review changes in your favorite editor (VS Code/Cursor/Antigravity/etc.)
  • Like to use VS Code to edit the md files and prompts (ctrl+g) before sending them to the agent cli.

Then this is the extension for you! You get a very nice interface to work with your agents without having to jump between the editor and the ADE tool.

Inspired by Antigravity agent panel, Codex app, T3Code, CMux, and Superset + many more.


Highly recommended VS Code Setup to work with worktrees and parallel agents

1. Enable Native Tabs

If you are on macOS, turn on VS Code's window.nativeTabs setting.

This makes it much easier to switch between projects, repos, and worktrees because each VS Code window can live in the same native tab strip. Instead of juggling separate windows, you can keep multiple VSmux workspaces open and move between them quickly with the normal macOS tab workflow.

2. Turn On Repositories Explorer for Worktrees

Enable SCM > Repositories: Explorer, and make sure SCM > Repositories: Selection Mode is set to single.

This exposes repository artifacts directly inside the Source Control UI, including branches, stashes, tags, and worktrees. It makes creating and managing Git worktrees much easier from the VS Code UI, without needing to drop into the terminal for every worktree action.

3. Set your $Editor in ~/.zshrc to your editor (code/cursor/etc.)

This lets you write your prompt inside your editor instead strugling with the annoying input box that these AI tools provide. No more [50 lines pasted] nonsense. Paste all the lines you want and even select parts of them and use inline AI to edit those.

Gist on how to do this


Companion App

VSmux works great with my other tool that shows all running agent sessions in a mini floating bar on macOS (with running/waiting/done indicators). Check it out here: https://github.com/maddada/agent-manager-x


Contributions welcome πŸ™πŸ»

Getting Started

  1. Open the Command Palette.
  2. Run VSmux: Open Workspace.
  3. Create your first session.
  4. Use the sidebar and hotkeys to change the number of visible sessions and switch layouts.

Settings

  • VSmux.backgroundSessionTimeoutMinutes: controls how long detached background sessions stay alive after the last VSmux window disconnects
  • VSmux.sidebarTheme: changes the sidebar theme preset
  • VSmux.showCloseButtonOnSessionCards: shows or hides the close button on session cards
  • VSmux.sendRenameCommandOnSidebarRename: stages /rename <new name> in the terminal when you rename from the sidebar

Local T3 Embed Setup

The T3 embed frontend is intentionally local-only and gitignored. If you want T3 sessions to render inside VSmux while developing this extension, set up the local workspace below:

forks/t3code-embed/
  upstream/   # local clone of pingdotgg/t3code
  overlay/    # your local patched T3 web files
  dist/       # generated embed build consumed by VSmux

1. Clone T3 locally

Clone T3 Code into:

git clone https://github.com/pingdotgg/t3code forks/t3code-embed/upstream

The integration was authored against commit 9e29c9d72895022322da52d8e961b38702bad9cc.

2. Recreate the local patch overlay

Create the patched files under:

forks/t3code-embed/overlay/apps/web/src/

The required file list and patch intent are documented in:

3. Build the local embed bundle

Make sure bun is installed, then run:

node ./scripts/build-t3-embed.mjs

That script copies the overlay into forks/t3code-embed/upstream, builds T3's web app, and writes the generated bundle to forks/t3code-embed/dist.

4. Build the extension

Run:

vp install
vp check
vp test

If forks/t3code-embed/dist is missing, the extension still builds, but T3 sessions will show the missing-assets placeholder until you generate the local embed bundle.


Features

Session Management

  • Create, rename, restart, and close terminal sessions from the sidebar
  • Session groups β€” organize sessions into up to 4 named groups, rename groups, and drag sessions between them
  • Drag-and-drop reordering β€” reorder sessions within and across groups, reorder command buttons
  • Session aliases β€” each session gets an auto-generated word alias (Atlas, Beacon, Comet, etc.)
  • Previous session history β€” closed sessions are archived (up to 200) and can be browsed or restored from a modal

Layout & Views

  • Three view modes β€” Horizontal, Vertical, and Grid layouts (Cmd+Alt+H/V/G)
  • Configurable visible count β€” show 1, 2, 3, 4, 6, or 9 sessions at once
  • Fullscreen / focus mode β€” toggle a single session to fill the entire view (Cmd+Alt+F)
  • Session slot hotkeys β€” jump to any session slot with Cmd+Alt+1–9
  • Group focus hotkeys β€” switch between groups with Ctrl+Alt+Shift+1–4
  • Directional focus navigation β€” move focus up/right/down/left across sessions

Agent Launchers

  • Built-in agent buttons β€” one-click launch for T3 Code, Codex, Claude Code, OpenCode, and Gemini
  • Custom agents β€” add your own agent launchers with custom commands and names
  • Agent icon detection β€” session cards show the agent logo watermark based on what's running
  • Edit and delete agents β€” right-click context menu on agent buttons

Command Shortcuts

  • Sidebar command buttons β€” quick-launch buttons for Dev, Build, Test, Setup (or your own)
  • Custom commands β€” create commands with a name, shell command, and optional close-on-exit behavior
  • Drag-and-drop reordering β€” reorder command buttons in the sidebar
  • Edit and delete commands β€” right-click context menu on command buttons

Activity Tracking

  • Three activity states β€” idle, working, and attention indicators on session cards
  • Claude Code title detection β€” automatically detects Claude Code idle/working state from terminal title
  • Shell integration β€” detects agent start/stop lifecycle events via control sequences
  • Codex log pattern matching β€” parses Codex CLI log output for task_started/task_complete events
  • Completion bell β€” plays a sound when an agent finishes (toggle per project from the sidebar)
  • 10 completion sounds β€” Arcade, African, Afrobeat, EDM, Come Back To The Code, Glass, Ping, Shamisen, Superset Doo-Wap, Superset Quick

T3 Code Integration

  • Embedded T3 sessions β€” T3 Code runs directly inside the VSmux sidebar as a webview
  • T3 activity monitoring β€” WebSocket connection to local T3 runtime tracks thread activity in real time
  • T3 session lifecycle β€” automatic supervision, sync, and management of T3 sessions

Theming

  • 11 sidebar theme presets β€” Auto, Plain, Dark Green/Blue/Red/Pink/Orange, Light Blue/Green/Pink/Orange
  • Auto theme β€” follows the active VS Code theme (dark or light)

Keyboard Shortcuts

Action macOS Windows/Linux
Focus session slot 1–9 Cmd+Alt+1–9 Ctrl+Alt+1–9
Focus group 1–4 Ctrl+Alt+Shift+1–4 Ctrl+Alt+Shift+1–4
Horizontal view Cmd+Alt+H Ctrl+Alt+H
Vertical view Cmd+Alt+V Ctrl+Alt+V
Grid view Cmd+Alt+G Ctrl+Alt+G
Fullscreen toggle Cmd+Alt+F Ctrl+Alt+F
Rename active session Cmd+Alt+R Ctrl+Alt+R
Show 6 terminals Cmd+Alt+Shift+6 Ctrl+Alt+Shift+6
Show 9 terminals Cmd+Alt+Shift+9 Ctrl+Alt+Shift+9

Other

  • Sidebar rename β†’ terminal rename β€” renaming from the sidebar optionally stages /rename <name> in the terminal
  • Cmd+click or middle-click to close β€” close sessions without needing a visible close button
  • Configurable close button visibility β€” show/hide close buttons on session cards
  • Configurable hotkey label visibility β€” show hotkey labels on cards always or only on hover
  • Background session timeout β€” configurable timeout for detached background sessions (or keep alive forever)
  • Debug panel β€” inspect terminal workspace state and layout operations in real time
  • Companion app β€” works with agent-manager-x for a floating macOS status bar

About

Manage all your CLI & T3code coding agent sessions without leaving your IDE. Supports splits, groups, session persistence, running/done indicators, and much more. Contributions very welcome!

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors