Complete tmux terminal multiplexer management: sessions, windows, panes, layouts, scripting, and configuration. Auto-activates on: "tmux", "session", "window", "pane", "split", "attach", "detach", "multiplexer".
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill tmux-bntvllnt-agent-skills --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Tmux Bntvllnt Agent Skills?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-tmux-bntvllnt-agent-skills-claude-skill-registry)More formats (shields.io, HTML) on the badges page.
---
name: tmux
description: |
Complete tmux terminal multiplexer management: sessions, windows, panes, layouts, scripting, and configuration.
Auto-activates on: "tmux", "session", "window", "pane", "split", "attach", "detach", "multiplexer".
license: MIT
compatibility: Requires tmux (3.0+). Works on Linux/macOS/WSL.
metadata:
version: "1.0"
allowed-tools: Bash Read Edit Write Glob Grep
---
# tmux
Complete tmux management for terminal multiplexing.
## Core Concepts
```
┌─────────────────────────────────────────────────────────────┐
│ SERVER (one per socket) │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ SESSION ($0, $1, ...) │ │
│ │ ┌─────────────────┐ ┌─────────────────┐ │ │
│ │ │ WINDOW (@0) │ │ WINDOW (@1) │ ... │ │
│ │ │ ┌────┬────┐ │ │ ┌────────────┐ │ │ │
│ │ │ │PANE│PANE│ │ │ │ PANE │ │ │ │
│ │ │ │ %0 │ %1 │ │ │ │ %2 │ │ │ │
│ │ │ └────┴────┘ │ │ └────────────┘ │ │ │
│ │ └─────────────────┘ └─────────────────┘ │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
- **Server**: Background process managing all state
- **Session** (`$id`): Named container of windows, persists after detach
- **Window** (`@id`): Tab-like container of panes within a session
- **Pane** (`%id`): Individual terminal within a window
- **Client**: Terminal attached to a session
## Router
| User says | Load reference | Do |
|---|---|---|
| list sessions / status | `references/session-management.md` | inspect sessions |
| new session / create session | `references/session-management.md` | create session |
| attach / detach | `references/session-management.md` | attach/detach |
| kill session | `references/session-management.md` | terminate session |
| new window / create window | `references/window-management.md` | create window |
| rename window | `references/window-management.md` | rename window |
| kill window / close window | `references/window-management.md` | close window |
| switch window | `references/window-management.md` | navigate windows |
| split / new pane | `references/pane-management.md` | split pane |
| resize pane | `references/pane-management.md` | resize pane |
| move pane / swap pane | `references/pane-management.md` | rearrange panes |
| kill pane / close pane | `references/pane-management.md` | close pane |
| layout | `references/layouts.md` | apply/manage layouts |
| copy / paste / buffer | `references/copy-mode.md` | copy mode operations |
| config / tmux.conf / settings | `references/configuration.md` | configure tmux |
| keybind / bind / unbind | `references/keybindings.md` | key bindings |
| script / automate / send-keys | `references/scripting.md` | scripting/automation |
| capture / log / output | `references/scripting.md` | capture pane content |
| help / keys / cheatsheet | inline | show key reference |
## Default Key Bindings (Prefix: `C-b`)
### Session
| Key | Action |
|-----|--------|
| `d` | Detach from session |
| `s` | List/switch sessions |
| `$` | Rename session |
| `(` / `)` | Previous/next session |
### Window
| Key | Action |
|-----|--------|
| `c` | Create window |
| `&` | Kill window (confirm) |
| `,` | Rename window |
| `0-9` | Switch to window N |
| `n` / `p` | Next/previous window |
| `l` | Last window |
| `w` | List windows |
| `f` | Find window |
### Pane
| Key | Action |
|-----|--------|
| `%` | Split horizontally (left/right) |
| `"` | Split vertically (top/bottom) |
| `x` | Kill pane (confirm) |
| `o` | Cycle panes |
| `q` | Show pane numbers |
| `z` | Toggle zoom |
| `{` / `}` | Swap pane left/right |
| `!` | Break pane to window |
| Arrows | Navigate panes |
| `Space` | Cycle layouts |
| `C-o` | Rotate panes |
### Copy Mode
| Key | Action |
|-----|--------|
| `[` | Enter copy mode |
| `]` | Paste buffer |
| `=` | Choose paste buffer |
| `#` | List buffers |
## Quick Reference
```bash
# Session
tmux new -s name # Create named session
tmux attach -t name # Attach to session
tmux ls # List sessions
tmux kill-session -t name # Kill session
# Window
tmux new-window -n name # Create named window
tmux select-window -t :N # Go to window N
tmux rename-window name # Rename current window
# Pane
tmux split-window -h # Split horizontal
tmux split-window -v # Split vertical
tmux select-pane -t :.N # Go to pane N
tmux resize-pane -D 5 # Resize down 5 lines
# Info
tmux list-keys # All key bindings
tmux info # Server info
```
## Safety Rules
- **Confirm before kill**: Always confirm before `kill-session`, `kill-window`, `kill-pane`
- **Check attachments**: Before killing, check if session has active clients
- **Preserve work**: Warn if panes have running processes
- **Config backup**: Before editing `~/.tmux.conf`, suggest backup
## Confirmation Policy
**Read-only (always OK)**:
- `tmux ls`, `list-sessions`, `list-windows`, `list-panes`
- `tmux info`, `show-options`, `display-message`
- `tmux list-keys`, `list-buffers`
**Requires confirmation**:
- `kill-session`, `kill-window`, `kill-pane`
- `kill-server`
- Editing `~/.tmux.conf`
- `send-keys` to panes (can affect running processes)
## Environment Variables
| Variable | Description |
|----------|-------------|
| `TMUX` | Socket path (set inside tmux) |
| `TMUX_PANE` | Current pane ID |
Check if inside tmux: `[ -n "$TMUX" ]`
## Troubleshooting
| Issue | Solution |
|-------|----------|
| "no server running" | Start with `tmux` or `tmux new` |
| "sessions should be nested" | Unset `$TMUX` or use `tmux -u` |
| Detached session lost | Check `tmux ls`, attach with `tmux attach` |
| Colors not working | Set `TERM=xterm-256color` or `set -g default-terminal "tmux-256color"` |
| Mouse not working | `set -g mouse on` in config |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!