Pourquoi tmux convient aux agents IA
Un agent de codage IA fonctionne comme un processus long qui interagit continuellement avec un terminal. tmux répond à trois exigences essentielles : le serveur tmux possède le pseudo‑terminal (pty), ce qui maintient le processus actif même si la connexion SSH se coupe ou si le portable passe en veille ; il regroupe plusieurs sessions dans une même fenêtre, permettant de passer d’un agent à l’autre avec une simple combinaison de touches ; enfin, il expose des commandes scriptables (send-keys, capture-pane) utilisables depuis n’importe quel shell, éliminant le besoin d’une couche IPC ou d’une API dédiée.
Création automatisée de sessions avec Claude Code
Claude Code intègre deux options qui automatisent la mise en place d’un environnement de travail : -w, --worktree crée un git worktree dédié, et --tmux lance une session tmux attachée à ce worktree. La combinaison
claude --worktree --tmux génère en une fois le répertoire de travail et la session tmux. Sur iTerm2, la flag utilise les panneaux natifs ; l’ajout de --tmux=classic force l’utilisation du serveur tmux classique, indispensable lorsqu’on veut piloter la session avec les commandes tmux standards. La dépendance de --tmux à --worktree signifie que la création de session n’est pas un paramètre générique mais une fonctionnalité liée à la gestion de branches parallèles.Mise en place manuelle et configuration avancée
Pour des projets contenant plusieurs agents, la pratique recommandée consiste à créer une session tmux nommée d’après le dépôt :
tmux new-session -A -s api -c ~/code/api utilise l’option -A (attach‑or‑create) afin que la même commande soit sûre à exécuter répétitivement, par exemple dans une fonction shell. Chaque agent reçoit une fenêtre distincte (tmux new-window -t api -n auth -c ~/code/api), tandis que les agents à surveiller simultanément sont placés en panneaux grâce à split-window -h ou -v suivi de select-layout tiled. Le réglage main-pane-width nécessite tmux 3.2 ou plus ; les versions antérieures doivent employer une largeur absolue (main-pane-width 120).Un fichier .tmux.conf ciblé sur les agents inclut des paramètres de performance et d’ergonomie :
set -g history-limit 100000
set -g default-terminal "tmux-256color"
set -g mouse on
set -g allow-rename off
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
set -g monitor-activity on
set -g status-interval 5
set -sg escape-time 10
bind -n M-h select-pane -L
bind r source-file ~/.tmux.conf \; display-message "config reloaded" Ces options augmentent la profondeur d’historique, assurent la prise en charge des couleurs 24‑bits, désactivent le renommage automatique des fenêtres et réduisent le délai d’interprétation des séquences d’échappement, problème fréquent avec les interfaces texte des agents.Limites et bonnes pratiques
Le flag intégré de Claude Code ne gère qu’un seul agent sur une branche unique ; il ne crée ni plusieurs panneaux, ni un affichage simultané, ni de mécanisme de notification indiquant quel agent attend une interaction. Pour dépasser ces limites, il faut écrire manuellement les commandes tmux décrites précédemment et veiller à ce que les noms de session n’utilisent pas les caractères . ou :, car tmux les réserve comme séparateurs de cible. Enfin, lorsqu’on travaille sur une machine distante, il est recommandé de lancer la session en mode détaché (tmux new-session -d) puis de s’y rattacher après connexion SSH, afin de garantir la persistance du processus même en cas de perte de connexion.