Herramientas
6 min

tmux: la terminal persistente que uso con Claude Code y en servidores remotos

Trubi

Lucas Trubiano

10 de julio de 2026

tmux: la terminal persistente que uso con Claude Code y en servidores remotos

¿Qué es tmux y por qué importa?

tmux (terminal multiplexer) te permite crear y mantener vivas múltiples sesiones de terminal, incluso después de cerrar la conexión que las originó. Uso tmux todos los días para dos casos:

  • Servidores remotos. Dejar corriendo un backfill, una migración o un tail -f de logs en un servidor (EC2, una VM, un bastion) sin que muera si se corta el SSH.
  • Agentes de código AI en terminal. Con un agente como Claude Code trabajando una tarea larga (build, tests, un refactor grande), cerrar la terminal o la laptop y volver más tarde a ver exactamente dónde quedó, con todo el historial intacto. También es la forma más simple de correr varios agentes en paralelo, cada uno en su propia sesión.

En ambos casos el proceso sigue corriendo en la máquina: te reconectás cuando quieras y seguís viendo la terminal exactamente donde la dejaste.

Conceptos: sesión, ventana, panel

  • Session (sesión): un espacio de trabajo independiente, identificado por nombre (ej. backfill, agente-refactor). Es lo que persiste aunque cierres la terminal — podés "salir" sin matarla (detach) y volver más tarde (attach).
  • Window (ventana): dentro de una sesión, equivalente a una pestaña. Cada sesión puede tener varias, cada una corriendo algo distinto (una para el agente, otra para tests).
  • Pane (panel): una ventana se puede dividir en varios paneles (splits), cada uno con su propia terminal, visibles al mismo tiempo.

Diagrama de la jerarquía de tmux: una sesión contiene ventanas y cada ventana se divide en paneles

Instalación

bash
# macOS
brew install tmux

# Debian/Ubuntu
sudo apt install tmux

# Amazon Linux / RHEL / CentOS
sudo yum install tmux

Comandos esenciales (de menos a más)

Todos los atajos dentro de tmux empiezan con un prefix (por defecto Ctrl+b): se presiona, se suelta, y luego se presiona la tecla del comando (ej. Ctrl+b d = Ctrl+b, soltar, d).

Ciclo de vida de una sesión:

bash
# Crear una sesión con nombre (recomendado siempre)
tmux new -s backfill

# Salir sin matarla (detach): Ctrl+b, luego d

# Ver las sesiones activas
tmux ls

# Reconectarte (attach)
tmux a -t backfill

# Matar una sesión cuando ya terminaste
tmux kill-session -t backfill

Ventanas: crear (Ctrl+b c), moverte a la siguiente/anterior (Ctrl+b n / p), renombrar (Ctrl+b ,).

Paneles: dividir horizontal (Ctrl+b ") o vertical (Ctrl+b %), moverte con Ctrl+b + flechas (o con click, si tenés el mouse habilitado — ver más abajo), poner uno en pantalla completa (Ctrl+b z), cerrarlo (Ctrl+b x).

Tip: con esto ya cubrís el 80% del uso real: tmux new -s <nombre> para arrancar, Ctrl+b d para salir sin cortar el proceso, y tmux a -t <nombre> para volver. El resto de los atajos está en el cheatsheet al final.

Tu caso de uso: agentes de código AI (Claude Code)

Claude Code corriendo dentro de una sesión de tmux, con varios paneles/sesiones trabajando en paralelo

Dejar un agente corriendo sin perder el historial:

bash
tmux new -s agente-refactor
claude
# Le pedís una tarea larga y, cuando quieras irte: Ctrl+b d

# Horas después, desde la misma máquina (o por SSH):
tmux a -t agente-refactor
# Volvés a ver la sesión tal cual la dejaste, con el output completo.

Tip: a diferencia de minimizar una terminal, detach sobrevive a cerrar la laptop, perder WiFi, o reiniciar la app de terminal — el proceso vive en el server de tmux, no en tu ventana.

Varios agentes en paralelo, una sesión por tarea: conviene una sesión por agente (en vez de mezclarlos en paneles de una sola ventana) para poder matar o revisar uno sin tocar los demás:

bash
tmux new -s agente-luc-101   # feature A
tmux new -s agente-luc-102   # feature B

tmux ls
tmux a -t agente-luc-102     # saltar de una tarea a otra

Configuración recomendada (~/.tmux.conf)

Esto es lo primero que configuro en cualquier máquina nueva: mouse habilitado y atajos propios.

bash
# ~/.tmux.conf

# --- Mouse: click para cambiar de panel/ventana, scroll, resize de splits ---
set -g mouse on

# --- Splits mnemónicos (h = horizontal, v = vertical), en el directorio actual ---
unbind '"'
unbind %
bind h split-window -h -c "#{pane_current_path}"
bind v split-window -v -c "#{pane_current_path}"

# --- Recargar la config sin salir de tmux (prefix + r) ---
bind r source-file ~/.tmux.conf \; display-message "Config recargada"

# --- Numerar ventanas/paneles desde 1 ---
set -g base-index 1
setw -g pane-base-index 1

Con mouse on te movés entre paneles con un click en vez de memorizar atajos (para seleccionar y copiar texto como en cualquier terminal, mantené Shift mientras seleccionás). Cualquier atajo se puede reasignar con unbind + bind; en este ejemplo cambio los splits a h / v (más fácil de recordar que " / %), manteniendo el prefix por defecto Ctrl+b.

Cheatsheet

code
tmux new -s <nombre>        # crear sesión
tmux a -t <nombre>          # reconectar
tmux ls                     # listar sesiones
tmux kill-session -t <n>    # matar una sesión

Ctrl+b d                    # detach (salir sin matar)
Ctrl+b c                    # nueva ventana
Ctrl+b n / p                # siguiente / anterior ventana
Ctrl+b " / %                # split horizontal / vertical
Ctrl+b flechas              # moverse entre paneles (o click con mouse on)
Ctrl+b z                    # zoom del panel actual
Ctrl+b x                    # cerrar panel

Nota: si aplicaste la configuración de arriba, los splits quedan en Ctrl+b h / Ctrl+b v en vez de Ctrl+b " / Ctrl+b % (el prefix sigue siendo Ctrl+b).

Tip: siempre nombrá tus sesiones (tmux new -s <nombre>) en vez de dejarlas con el número por defecto — y si trabajás con agentes en paralelo, un nombre por tarea (agente-luc-101) te ahorra confundirte cuando tenés varias abiertas a la vez.