Claude Code : agents en parallèle avec tmux et SSH
Configurez tmux pour Claude Code : worktrees séparés, sessions persistantes et reconnexion SSH. Ajoutez une équipe d’agents quand la coordination le justifie.
Publié le

Avec Claude Code, agents et tâches peuvent tourner dans tmux sur une machine distante qui reste allumée. Vous pouvez alors fermer votre ordinateur portable, vous reconnecter en SSH et retrouver le travail toujours en cours. Attribuez à chaque tâche indépendante son propre worktree Git et une session tmux nommée : le développement d’une fonctionnalité et la correction d’un bug auront ainsi des fichiers séparés. Commencez par cette organisation ; ajoutez une équipe d’agents lorsque les tâches demandent des échanges coordonnés.
Tout dépend de la machine qui exécute le travail. tmux conserve une session de terminal après une déconnexion. Il ne peut ni faire travailler un ordinateur en veille, ni maintenir un serveur éteint en activité, ni relancer un processus Claude qui a planté. Anthropic recommande explicitement tmux ou screen pour qu’une session Claude distante survive à une déconnexion SSH. Documentation Remote Control d’Anthropic.
Configurer tmux avec les réglages de la documentation
Placez la configuration sur la machine qui exécute Claude Code. Pour travailler à distance, il s’agit donc du fichier ~/.tmux.conf de l’hôte distant. Si nécessaire, installez tmux avec le gestionnaire de paquets de cet hôte, puis vérifiez sur place tmux -V et claude --version avant de continuer.
Ajoutez ce bloc à votre fichier ~/.tmux.conf en le combinant avec les réglages existants. Les trois premières lignes correspondent à la configuration documentée par Anthropic ; le réglage commenté pour la souris est facultatif et ne fait pas partie des exigences d’Anthropic.
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
# Optional preference: enable mouse interaction in tmux.
# set -g mouse onLe passthrough laisse passer les notifications et les mises à jour de progression vers le terminal qui héberge tmux. La prise en charge des touches étendues permet à tmux de distinguer Maj+Entrée d’Entrée. Pour appliquer la configuration à un serveur tmux déjà lancé, exécutez tmux source-file ~/.tmux.conf ; un nouveau serveur charge le fichier au démarrage. Configuration du terminal dans la documentation Anthropic.
Si aucun serveur tmux ne tourne encore, créez d’abord la première session présentée ci-dessous, puis lancez la commande de rechargement. Pour cette configuration initiale, laissez de côté les plugins tiers : ce workflow n’en nécessite aucun.
Une session nommée pour chaque worktree
Un worktree Git est une autre copie de travail, avec ses propres fichiers et sa branche, qui partage l’historique du dépôt. Une session tmux regroupe des fenêtres de terminal sous un nom ; un volet est une subdivision d’une fenêtre. Voyez le worktree comme un établi, et tmux comme la pièce que l’on peut quitter puis retrouver. Guide des worktrees d’Anthropic.
Adoptez des noms cohérents pour que le nom de la session indique immédiatement dans quelle copie de travail vous entrez. Voici une organisation possible, et non un réglage par défaut de Claude Code :
Cet exemple de première installation suppose qu’un dépôt existe dans ~/src/project, qu’il contient au moins un commit et que les noms de branches, de répertoires et de sessions sont libres. Remplacez dev@devbox et le chemin du projet. Commencez dans le shell habituel de votre ordinateur portable, en dehors de tmux. Les commandes de worktree suivent la procédure manuelle d’Anthropic ; l’organisation en sessions nommées est celle proposée dans ce guide.
ssh dev@devbox
cd ~/src/project
git worktree add ../project-feature-a -b feature-a
git worktree add ../project-bugfix -b bugfix
tmux new-session -d -s cc-feature-a -n claude -c "$HOME/src/project-feature-a"
tmux new-session -d -s cc-bugfix -n claude -c "$HOME/src/project-bugfix"
tmux attach-session -t cc-feature-a
# Now inside the feature worktree's tmux shell:
claudeUne fois la connexion SSH établie, saisissez les commandes restantes sur l’hôte distant. Au départ, les deux sessions détachées contiennent des shells. En vous rattachant à l’une d’elles, puis en lançant claude, vous démarrez sa session de développement sous vos yeux, avec les éventuelles invites de configuration habituelles. Détachez-vous, rattachez-vous à cc-bugfix, puis lancez-y claude lorsque vous souhaitez activer la seconde tâche.
Chaque worktree nécessite sa propre préparation du projet, notamment l’installation des dépendances et toute configuration locale requise. Vérifiez le répertoire et la branche avant de demander à Claude de modifier des fichiers. Gestion manuelle des worktrees dans la documentation Anthropic.
Si vous voulez un shell de test dans la copie de travail de la fonctionnalité, exécutez tmux new-window -t cc-feature-a -n checks -c "$HOME/src/project-feature-a" depuis un shell sur l’hôte. Gardez les vérifications à côté de la tâche concernée. Évitez de faire de la copie de travail principale un répertoire de travail temporaire partagé par les deux agents.
Si vous utilisez aussi Codex, notre guide des worktrees avec Codex CLI présente séparément le workflow de cet outil.

Se détacher, fermer son ordinateur et revenir en SSH
Avec le préfixe par défaut de tmux, appuyez sur Ctrl+B, relâchez les deux touches, puis appuyez sur D. Le client se détache et vous retrouvez le shell distant. Vous pouvez maintenant couper la connexion SSH. Laissez Claude tourner dans sa session.
À votre retour, exécutez ssh dev@devbox, puis tmux list-sessions, puis tmux attach-session -t cc-feature-a. Utilisez le même hôte distant et le même compte utilisateur. Depuis votre ordinateur portable, la commande unique équivalente est ssh -t dev@devbox 'tmux attach-session -t cc-feature-a'.
Ces raccourcis supposent que le préfixe est celui par défaut. Si vous l’avez modifié, utilisez celui de votre configuration. Depuis tmux, changez de session plutôt que d’imbriquer un autre client tmux.
Se rattacher revient à se reconnecter au processus de terminal existant. Si ce processus s’est arrêté, récupérer la conversation relève d’une autre opération : claude --continue reprend la dernière conversation du répertoire courant, et claude --resume ouvre un sélecteur. Aucune de ces commandes ne remplace le maintien du processus d’origine en activité. Gestion des sessions dans la documentation Anthropic.
Pour un accès depuis un téléphone ou un navigateur, consultez Claude Code Remote Control. L’exécution reste sur l’hôte, qui doit demeurer allumé. Remote Control dans la documentation Anthropic.
Claude Code : agents en équipe quand il faut se coordonner
Les équipes d’agents sont expérimentales et désactivées par défaut. Dans un shell tmux, démarrez une nouvelle session interactive pour l’agent coordinateur avec CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude --teammate-mode tmux. La variable d’environnement active les équipes pour ce lancement ; l’option sélectionne l’affichage en volets séparés. Configuration des équipes d’agents dans la documentation Anthropic.
Le mode par défaut actuel est in-process. Le mode auto utilise des volets séparés dans tmux et bascule vers un autre mode si nécessaire ; tmux sélectionne l’affichage en volets séparés avec détection du terminal. Pour conserver cette préférence, utilisez teammateMode dans ~/.claude/settings.json. Avec les volets séparés, chaque coéquipier dispose d’un terminal visible distinct. Anthropic indique que le terminal intégré de VS Code, Windows Terminal et Ghostty ne sont pas pris en charge pour ce mode. Modes d’affichage et limites dans la documentation Anthropic.
Pour un premier essai, je confierais cette mission bien délimitée à l’agent coordinateur :
Crée une équipe d’agents pour analyser le dépassement de délai lors du passage en caisse. Nomme un coéquipier Requests et l’autre Storage. Requests doit retracer le comportement des nouvelles tentatives ; Storage doit examiner les limites des transactions. Demande-leur de confronter leurs observations. Ne modifie aucun fichier. Fournis une proposition de correctif et un plan de test.
Vos sessions cc-feature-a et cc-bugfix, lancées manuellement, ne deviennent pas des coéquipiers simplement parce qu’elles tournent toutes deux dans tmux. Créer une équipe est un choix distinct : il détermine qui répartit le travail et fait la synthèse des résultats. Préférez les sous-agents de Claude Code pour une délégation ciblée au sein d’une seule session.

Un volet n’est pas une copie de travail distincte. Attribuez des fichiers différents ou utilisez des worktrees séparés pour les modifications indépendantes. Les équipes consomment aussi davantage de tokens ; tmux ne réduit pas cette consommation. Le rattachement permet de retrouver un terminal toujours actif, tandis que /resume ne restaure pas les coéquipiers en mode in-process. Conseils d’Anthropic sur les équipes.
Cinq situations où cette organisation peut servir
Je privilégierais les usages suivants, dans cet ordre. Chacun décrit un workflow possible, pas un gain de productivité mesuré.
Mesurez le coût des interruptions avant d’automatiser davantage. À titre d’illustration, cinq interruptions nécessitant chacune quatre minutes pour reconstituer le contexte représentent vingt minutes par semaine. Ce sont des hypothèses de calcul, pas des résultats de benchmark. Relevez vos propres temps de reprise, de préparation et de revue ; le workflow se justifie si le total diminue. Multiplier les agents simultanés n’est pas automatiquement plus rentable.
Deux petits outils à développer autour de ce workflow
La piste la plus prometteuse est un lanceur de worktrees et de sessions pour les équipes de développement. Une équipe plateforme pourrait payer pour harmoniser les noms des tâches, les chemins des copies de travail et les commandes de rattachement entre ses développeurs. La plus petite version utile créerait ou retrouverait un worktree, ouvrirait sa session tmux nommée et afficherait la branche et le chemin avant de lancer Claude. Elle devrait demander confirmation avant de nettoyer une copie de travail.
L’estimation de mots-clés DataForSEO pour les États-Unis, récupérée le 12 octobre 2026, indique 480 recherches mensuelles pour « tmux claude code ». C’est un signal limité d’intérêt pour la configuration, pas un décompte d’acheteurs. La difficulté : un court script interne peut suffire. Un produit payant doit apporter une configuration ou un accompagnement propres à l’équipe, qui lui évitent un travail récurrent.
Un inventaire des sessions distantes constitue une seconde piste, plus ciblée. Une petite équipe de développement pourrait centraliser les alias d’hôtes approuvés, les noms de sessions et les chemins des copies de travail, avec une commande de rattachement SSH à copier. Commencez par le repérage et la navigation, puis ajoutez des fonctions de gestion du cycle de vie uniquement si les utilisateurs en ont besoin.
La même analyse DataForSEO estime à 1 600 les recherches mensuelles aux États-Unis pour « claude code remote » et à 70 celles pour « claude code remote ssh ». La requête la plus large englobe des personnes à la recherche d’autres interfaces d’accès à distance ; elle ne suffit donc pas à valider un produit SSH. Le point délicat est la gestion des accès : l’inventaire doit respecter les autorisations que chaque développeur possède déjà sur les hôtes. Interrogez des équipes qui travaillent principalement à distance avant de construire un tableau de bord.
Les questions qui se posent à l’usage
Claude continue-t-il à travailler si je ferme mon ordinateur portable ?
Oui, si Claude et tmux tournent sur un hôte distant qui reste actif et connecté. S’ils tournent sur l’ordinateur portable qui se met en veille, le travail s’interrompt avec lui. Un terminal encore actif ne garantit pas non plus que le travail avance : Claude peut attendre votre réponse.
Pourquoi Maj+Entrée envoie-t-il encore le message dans tmux ?
Vérifiez que vous avez modifié et rechargé la configuration sur l’hôte qui exécute réellement tmux. Si /terminal-setup est nécessaire, lancez-le dans le terminal qui héberge tmux. Ctrl+J est le raccourci de remplacement documenté pour insérer un saut de ligne. Configuration du terminal dans la documentation Anthropic.
Pourquoi le rattachement indique-t-il que la session n’existe pas ?
Vérifiez l’hôte, l’utilisateur et le nom exact de la session avec tmux list-sessions. Si la session s’est terminée ou si l’hôte a redémarré, il faut procéder à une récupération, pas tenter un nouveau rattachement. Ne créez pas de session de remplacement au nom similaire avant de savoir si l’originale tourne encore ailleurs.
Deux volets tmux empêchent-ils les agents de modifier les mêmes fichiers ?
Non. Dans cette configuration, l’isolation repose sur les chemins de worktrees distincts. Vérifiez le répertoire et la branche de chaque shell avant de lancer les modifications. Vous devez toujours relire et intégrer les changements obtenus.
Pour passer à l’action dès lundi : choisissez une tâche distante, créez son worktree et sa session nommée, puis vérifiez que vous pouvez vous détacher et vous rattacher avant de la laisser tourner sans surveillance. N’ajoutez une seconde tâche indépendante qu’une fois cette procédure devenue habituelle.
Si votre équipe a besoin d’intégrer ce workflow à son environnement de développement, nous construisons des systèmes d’IA en production.
- Publié
- Catégorie
- Build
- Langue







