of the brand new things I’ve come across recently, while researching command-line-based coding assistants, is the mention and use of a tool I hadn’t heard of before. That tool known as Tmux, which stands for Terminal Multiplexer.
In the only possible terms, Tmux lets you split up a single terminal window into plenty of separate windows and panes, each of which is a terminal in its own right. Adoption of tools like Tmux has surged, largely resulting from the agent team workflows present in command-line coding agent products like Claude Code. I mention Claude Code here, but all of its important competitors, comparable to Google’s Gemini CLI and OpenAI’s Codex, either have already got or can be working on their very own equivalents.
The purpose is that, in tools like Claude Code, when it creates multiple agents to perform work, it might assign each agent to its own window pane. These visual clues make it much, much easier ( for humans) to maintain track of what is occurring as your agentic workloads progress.
Claude Code will spin up as many separate terminal window panes as needed, assign each agent a pane, and robotically close each pane because the agent completes its work. And in lots of cases, it’s using Tmux for this terminal management.
Because it’s likely that an increasing number of workloads in the longer term can be carried out with multiple agents, you’ll probably see and use Tmux more often. So, I believe it is smart to learn a bit more about what Tmux is and what it might do outside of just coding platforms. For the remaining of this text, I’ll explain find out how to download Tmux and show some typical operations you may do with it. I’m only going to cover crucial concepts and can add a link to the Tmux GitHub home page at the top so you may dive deeper should you want.
Note: apart from being a user of them, I even have no association or affiliation with any of the products or firms mentioned in this text
Tmux Licensing
Tmux is open source and completely free to make use of. Each source code file within the repo has the next licence attached.
Permission to make use of, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Installing Tmux
Depending in your operating system, you may install Tmux in one in every of the ways below.
macOS The simplest solution to install tmux on macOS is via Homebrew. Open your terminal and run:
brew install tmux
Ubuntu / Debian / Linux Mint
On Debian-based distributions, use the apt package manager:
sudo apt update
sudo apt install tmux
Fedora / CentOS / RHEL
For distributions using dnf or yum:
sudo dnf install tmux
Windows
I’m a Windows user, but unfortunately, Windows doesn’t support Tmux natively but you run it through the Windows Subsystem for Linux (WSL). To do this,
- Install a WSL Linux distribution (like Ubuntu) from the Microsoft Store.
- Open the WSL terminal.
- Use the Ubuntu command: sudo apt install tmux.
Key Tmux terms you must understand
These are foundational ideas of tmux, and almost every part else builds on them.
- Sessions. Persistent workspaces that survive disconnects. You’ll be able to detach and reattach later.
- Windows: These are your virtual desktops. You would possibly have one window dedicated to “Coding” and one other for debugging.
- Panes. Sub-windows inside a window. They will be oriented either vertically or horizontally. Each pane is a mini command-line terminal in its own right.
One in every of the important thing benefits of Tmux is which you could attach and detach sessions. While you detach a session, whatever it’s running will remain running within the background, and once you re-attach to the session, you’ll see the updated state of regardless of the session was already doing.
Verifying your Installation
Once the installation is complete, you may confirm that it’s working by checking the version:
$ tmux -V
tmux 3.2a
Starting a Tmux session
The “hello world” of using Tmux is just starting a session.
$ tmux
Nothing much will change, but you’ll notice a green status bar appear at the underside of your terminal window, indicating that you simply at the moment are inside a tmux session. You’ll be able to type in regular operating system commands from here. For instance list all my directories,
Inside a Tmux window or pane, you may list all of your sessions using the command:
$ tmux ls
0: 3 windows (created Tue Feb 10 18:22:12 2026)
2: 1 windows (created Tue Feb 10 19:11:12 2026)
3: 1 windows (created Wed Feb 11 10:42:16 2026) (attached)
session2: 2 windows (created Tue Feb 10 18:29:23 2026)
To kill sessions, type one in every of the next,
# To kill a particular session:
$ tmux kill-session -t [session_name_or_number]
# Or ... to kill EVERY session (The "Nuke" option):
$ tmux kill-server
Executing Tmux built-in commands
Tmux relies on a “prefix” key combination to execute its built-in commands. By default, that is Ctrl + b, followed normally by a single character. Listed below are some examples of common commands you’ll use often.
Motion Command
------- -------------------------
Split screen vertically Ctrl + b then %
Split screen horizontally Ctrl + b then """
Move to a different pane Ctrl + b then Arrow Keys
Kill current window Ctrl+b then &
Exit tmux Ctrl + then d
Example 1 – Creating latest panes
So, having began a Tmux session as above, try typing Ctrl+b followed by the per cent character (%) to separate your original window vertically into two panes. You must see something like this.

Now type Ctrl+b followed by the double quote (“) character, and you must see that the brand new pane has now been split horizontally like this,

Note that the “name” of your current window is all the time displayed within the status bar at the underside of the screen. By default, these are simply numbered sequentially ranging from 0, but you may rename them should you want.
To shut down the lively pane, type the command Ctrl+b followed by the x character. On the status bar, you’ll see a prompt asking you to substantiate the operation.
Example 2 – Creating latest Windows
To create a brand new window, type Ctrl+b followed by the character c. The brand new window will overlay and obscure any existing Tmux windows you’ve displayed. But have a look at the status bar, and you will note it displays all of your window names. To modify between different windows, use the keyboard shortcut Ctrl+b followed by the n (or p) character to go to the following (or previous) window. It’s also possible to switch to a particular window number by typing its number in as a substitute of n (or p)
To shut down a window, type the Ctrl+b command followed by the ampersand (&) character. The status bar will display a prompt asking you to substantiate the operation.
Example 3 – Moving between panes and enabling the mouse
Okay, you created a bunch of panes inside a window. Say you must move between them. Incidentally, note that your current pane is bordered in green, so you usually know which one has focus.
There are two ways to do that. Via the keyboard, you may type Ctrl+b followed by an appropriate arrow key. Note that you will need to key on this sequence each time you wish to move panes.
Using the keyboard like this on a regular basis to maneuver around can grow to be tiresome, but there may be a solution to use the mouse as a substitute. To enable the mouse, you may type Ctrl+b followed by the colon (:) character. The underside bar of your screen should turn a unique color, and also you’ll see a colon prompt. Type in the next,
: set -g mouse on
After that, you must find a way to change between panes along with your mouse just by left-clicking on them. If you’ve multiple windows open, it’s also possible to move between them by left-clicking on the suitable window name in your status bar.
Example 4 – The Tmux configuration file
The way in which we arrange the mouse within the previous example was done on a per-session basis. This implies after we close down Tmux and re-open it, the mouse setting can be gone. To avoid having to establish things like this each time you begin Tmux, you may put them in a configuration file in your house directory called .tmux.conf. Like this,
echo "set -g mouse on" > ~/.ftmux.conf
To use the change immediately without restarting Tmux, run this inside a Tmux terminal:
Ctrl + b then : then type source-file ~/.tmux.conf.
Otherwise, the following time Tmux starts, it robotically looks in your configuration file and uses it if present.
There’s a bunch of other settings you may put in your configuration file, so I suggest you check the Tmux doc link at the top for a full list.
Example 5- Detaching a session
That is the superpower of Tmux, but there’s not loads to it really. You’ll be able to start a process (like a giant download), “detach” from it, close your terminal app, and it keeps running within the background, able to be displayed once you re-attach to it. To detach a session, type Ctrl+b followed by the character d. Once a session is detached, you re-attach by typing this into any regular terminal command window:
$ tmux attach
Example 6- Creating your individual Ctrl+b commands
To create custom Ctrl+b commands, use the Tmux bind command. For instance, suppose you wish to create a shortcut key sequence to enable mouse support every time you type Ctrl+b followed by the m character. Type the next commands in,
# get to the command line on the status bar first
Ctrl+b :
# Now map pressing Ctrl+b m to show the mouse ON
bind m set -g mouse on ; display 'Mouse: ON'
Again, this is able to activate the mouse ON key mapping for the present session only. To make it available in every Tmux session, place the bind command within the .tmux.conf file.
echo "bind m set -g mouse on ; display 'Mouse: ON'" >> .tmux.conf
Example 7- Miscellaneous suggestions
- Resizing a pane. Assuming you’ve the mouse enabled, to resize a pane, simply left-click on its border with one other pane and drag left-right or up-down as required. If the mouse will not be enabled, type Ctrl+b, then hold down the ALT key whilst pressing one in every of the arrow keys.
- Getting help. Display all Ctrl-b commands by typing Ctrl+b followed by the query mark (?) character. To exit this display, type the c or ESC key
- Zooming in. If you’ve multiple panes open, pressing Ctrl+b followed by the z character will make the present, lively pane fill the entire window. Pressing the identical key combination again will restore things to the way in which they were.
- The “Where Am I?” Flash. If you’ve a screen filled with panes and also you lose track of which is which, press Ctrl+b then q. Large numbers will flash over every pane. Not only does this show you the variety of each pane, but should you type the number while it’s displayed, you’ll immediately jump to that pane and make it lively.
- Switching pane positions. To swap pane positions, click Ctrl+b followed by either an open or closed curly brace character ({}). This can exchange the placement of the lively pane with one other pane within the window.
Summary
I believe attending to know and using a utility like Tmux is a great addition to have in your developer toolbox. That is reinforced by the indisputable fact that we’re beginning to see many code assistant tools, comparable to Claude Code, actively using tools like Tmux to display the progress of multi-agent processes. As command-line agentic development workflows flourish, we’ll see more of this kind of use case.
This text has only scratched the surface of what the Tmux utility is able to. Tools like this could take considerable time to grow to be really proficient with, but I believe it’s worthwhile to persevere. In the event you do, you may look back and wonder the way you coped without it.
To search out out more about Tmux, visit its GitHub page at the next link:
