Browse, create, and enter tmux sessions with one command: tab.
tmux sessions
> work
3 windows | 1 attached | active 2026-07-19 14:03:00
api
2 windows | detached | active 2026-07-19 11:42:00
↑/k up ↓/j down / filter n new session r refresh ? more
tab is a focused terminal UI built with Bubble Tea and the Bubbles list and textinput components.
- Fuzzy-search current tmux sessions.
- See window count, attached clients, and recent activity.
- Attach with Enter.
- Create a session in the current directory with
n. - Refresh without leaving the browser.
- Switch clients when already inside tmux, avoiding nested sessions.
- Install verified release binaries on macOS, Linux, and Windows.
tab controls an existing tmux installation. Install tmux first:
# macOS
brew install tmux
# Ubuntu or Debian
sudo apt update && sudo apt install tmux
# Fedora
sudo dnf install tmux
# Arch Linux
sudo pacman -S tmuxWindows 10 and 11 are supported through WSL2. Run wsl --install, open the installed Linux distribution, install tmux there, and then use the Linux installation command below.
The native Windows binary is provided for advanced MSYS2 or Cygwin environments where tmux.exe is already on PATH. WSL2 is the tested and recommended Windows setup.
curl -fsSL https://raw.githubusercontent.com/hmmhmmhm/tmux-attach-browser/main/install.sh | shThe installer downloads the latest release, verifies its SHA-256 checksum, and places tab in $HOME/.local/bin. Choose another directory with TAB_INSTALL_DIR:
curl -fsSL https://raw.githubusercontent.com/hmmhmmhm/tmux-attach-browser/main/install.sh | TAB_INSTALL_DIR=/usr/local/bin shThe installer never runs sudo automatically.
Use this only when tmux is already available in the same environment:
curl.exe -fsSL https://raw.githubusercontent.com/hmmhmmhm/tmux-attach-browser/main/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -The default destination is $HOME\.local\bin\tab.exe. Set TAB_INSTALL_DIR before running the command to change it.
With Go 1.25 or newer:
go install github.com/hmmhmmhm/tmux-attach-browser/cmd/tab@latest# Open the session browser
tab
# Attach directly without opening the browser
tab work
# Print version or help
tab --version
tab --help| Key | Action |
|---|---|
Up, Down, j, k |
Move through sessions |
| Enter | Attach to the selected session |
n |
Create a new session in the current directory |
/ |
Filter sessions by name |
r |
Refresh the session list |
? |
Expand or collapse help |
| Esc | Cancel filtering or session creation |
q, Ctrl+C |
Quit |
Session names cannot be blank or contain : or .. tmux rewrites or interprets these characters in target names, so tab rejects them before creating a session.
tab asks tmux for a tab-separated session list, then renders it through the Bubbles list component. Selecting an existing session exits Bubble Tea before starting the interactive tmux client, so the terminal is restored correctly.
Outside tmux, selection runs:
tmux attach-session -t SESSIONInside tmux, it runs:
tmux switch-client -t SESSIONNew sessions are created detached with tmux new-session -d -s SESSION -c CURRENT_DIRECTORY and attached after the UI exits.
git clone https://github.com/hmmhmmhm/tmux-attach-browser.git
cd tmux-attach-browser
go test ./...
go test -race ./...
go vet ./...
go build -o tab ./cmd/tabAdditional checks:
sh scripts/test-install.sh
sh scripts/tmux-smoke.sh
goreleaser check
goreleaser release --snapshot --cleanInstall tmux using the platform instructions above, then confirm tmux -V works in the same terminal where you run tab.
The session may have ended after the list was loaded. Run tab again or press r before selecting.
Add this line to your shell profile:
export PATH="$HOME/.local/bin:$PATH"See CONTRIBUTING.md. Bug reports and focused feature proposals are welcome.