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
- 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
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
- 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.
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.
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.
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
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
- Open the Command Palette.
- Run
VSmux: Open Workspace. - Create your first session.
- Use the sidebar and hotkeys to change the number of visible sessions and switch layouts.
VSmux.backgroundSessionTimeoutMinutes: controls how long detached background sessions stay alive after the last VSmux window disconnectsVSmux.sidebarTheme: changes the sidebar theme presetVSmux.showCloseButtonOnSessionCards: shows or hides the close button on session cardsVSmux.sendRenameCommandOnSidebarRename: stages/rename <new name>in the terminal when you rename from the sidebar
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
Clone T3 Code into:
git clone https://github.com/pingdotgg/t3code forks/t3code-embed/upstreamThe integration was authored against commit 9e29c9d72895022322da52d8e961b38702bad9cc.
Create the patched files under:
forks/t3code-embed/overlay/apps/web/src/
The required file list and patch intent are documented in:
Make sure bun is installed, then run:
node ./scripts/build-t3-embed.mjsThat script copies the overlay into forks/t3code-embed/upstream, builds T3's web app, and writes the generated bundle to forks/t3code-embed/dist.
Run:
vp install
vp check
vp testIf 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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)
| 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 |
- 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
