Tired of reopening terminal windows every time you come back to a VSCode project? You can pick up right where you left off without having to re-run setup commands and reopen programs by using Tmux sessions. Read on to find out how. Introducing Tmux Tmux (Terminal Multiplexer) is basically a window manager for your terminal. It has two main functionalities: Splitting the terminal into multiple windows and panes. Storing your terminal sessions in a server process, allowing you to reattach to the session even after closing your terminal instance. Tmux is super powerful and has many use cases. For example, you can protecting your remote ssh terminal sessions from being nuked when dealing with a flaky connection. If you’re not already familiar with this tool, I recommend to get started. Ham Vocke’s “Quick and Easy Guide to tmux” Instructions for setting up Tmux in VSCode To start persisting your terminal sessions using Tmux in VSCode: Step 1: Make sure you have Tmux installed If you’re using macOS, you can use Homebrew by running the following command in your terminal: brew install tmux For Ubuntu or WSL users, you can install it by executing: sudo apt-get install tmux If you’re using any other linux distro I’m sure you probably already know what you’re doing Step 2: Add a new terminal profile Open VSCode settings with Cmd+Shift+P (macOS) or Ctrl+Shift+P (Windows/Linux) Search for . This will open the file. Open User Settings (JSON) settings.json Under or , add: terminal.integrated.profiles.osx terminal.integrated.profiles.linux "terminal.integrated.profiles.osx": { //...existing profiles... "tmux-shell": { "path": "tmux", "args": ["new-session", "-A", "-s", "vscode:${workspaceFolder}"] } } This runs on terminal startup, connecting to existing sessions named after the workspace folder. This way, if you’ve already created a terminal for this project, you’ll connect back to it automatically! tmux new-session Step 3: Set Tmux as the Default Terminal Profile Finally, to make the newly created Tmux profile the default for your system, add or modify the following line in the file: settings.json "terminal.integrated.defaultProfile.osx": "tmux-shell" Now, every time you open VSCode terminal, Tmux will startup automatically, allowing you to pick up exactly where you left off last time. Conclusion We’ve gone over how to integrate Tmux into VSCode’s integrated terminal. You can now use Tmux’s powerful session and window management easily inside VSCode! Also published . here