Tmuxplexer

A Go-based tmux session manager with a beautiful TUI.

★ 1 star Go 100% Oct 2025
tmuxplexer
  Tmux Sessions
  ==============

  > dev-server      3 windows  attached
    portfolio       2 windows
    claude-work     5 windows
    dotfiles        1 window

  ---
  n:new  d:delete  r:rename  enter:switch
>

Project Overview

Tmuxplexer is a TUI application for managing tmux sessions, built in Go with Bubble Tea. Instead of memorizing tmux commands and session names, you get a visual interface to create, switch, rename, and delete sessions.

Born from the daily workflow of juggling multiple tmux sessions for different projects, Tmuxplexer makes session management as easy as scrolling through a list and pressing Enter. It interfaces directly with the tmux server API from Go, parsing session data and executing tmux commands programmatically.

{}

Tech Stack

Go
Single binary that sits alongside tmux. No runtime dependencies.
Bubble Tea
List-based TUI with selection, filtering, and action commands.
Lipgloss
Clean session cards with status indicators and window counts.
tmux API
Direct communication with tmux server via exec.Command for session operations.
#

Architecture

  Tmuxplexer Architecture
  ========================

  TUI Layer (Bubble Tea)
    |-- Session list model
    |-- Create session dialog
    |-- Rename session input
    |-- Confirmation prompts
    |
  tmux Bridge (Go exec)
    |-- tmux list-sessions -F "..."
    |-- tmux new-session -d -s name
    |-- tmux switch-client -t name
    |-- tmux kill-session -t name
    |-- tmux rename-session name
    |
  tmux Server
    Sessions, windows, panes
*

Key Features

Session Browser
Visual list of all tmux sessions with window count, attached status, and creation time.
Quick Switch
Select a session and press Enter to instantly switch your terminal to that tmux session.
Session Creation
Create new named sessions with optional starting directory. Pre-configured window layouts.
Session Management
Rename, delete, and organize sessions. Confirmation prompts prevent accidental deletions.
TUI Interface
Keyboard-driven navigation with vim bindings. Filter sessions by name with fuzzy search.
Workflow Organization
Group related work into sessions -- one for dev, one for docs, one for testing. Switch context in seconds.
~

Stats

1
Star
100%
Go
936
KB Size
Oct 24
Created 2025
!

Lessons Learned

Interfacing with tmux from Go was surprisingly clean. Go's exec.Command makes it easy to shell out to tmux, parse the formatted output, and build a structured model on top of it. The biggest lesson was session management patterns -- how power users organize their tmux workflows, and how a TUI can make that workflow accessible to everyone. Sometimes the best tool is a better interface to an existing tool.