SpyBara
Go Premium

agent-view.md 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

This page contains 519 additions and 235 deletions.

2026
Fri 18 23:58 Fri 25 23:58

Gérer plusieurs agents avec la vue agent

Lancez et gérez plusieurs sessions Claude Code à partir d'un seul écran. La vue agent affiche ce que chaque session fait et lesquelles ont besoin de votre intervention.

La vue agent, ouverte avec claude agents, est un seul écran pour toutes vos sessions en arrière-plan : ce qui s'exécute, ce qui a besoin de votre intervention, et ce qui est terminé. Lancez de nouvelles sessions, observez leur état en un coup d'œil au lieu de faire défiler les transcriptions, et intervenez uniquement quand l'une d'elles a besoin de vous. Chaque session en arrière-plan est une conversation Claude Code complète qui continue de s'exécuter sans terminal attaché, vous pouvez donc l'ouvrir, répondre et partir quand vous le souhaitez.

Vue agent dans un terminal : l'en-tête affiche Claude Code v2.1.140, le modèle, le répertoire de travail et un résumé du nombre. Les sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé, avec une entrée de lancement en bas et un pied de page avec des indices de clavier. Vue agent dans un terminal : l'en-tête affiche Claude Code v2.1.140, le modèle, le répertoire de travail et un résumé du nombre. Les sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé, avec une entrée de lancement en bas et un pied de page avec des indices de clavier.

Utilisez la vue agent quand vous avez plusieurs tâches indépendantes sur lesquelles Claude peut travailler sans que vous regardiez chaque étape. Lancez une correction de bug, un examen de pull request et une enquête sur un test instable sous forme de trois lignes, continuez à travailler dans une autre fenêtre et vérifiez quand une ligne indique qu'elle a besoin de vous ou qu'elle a un résultat.

Quand vous voulez travailler plus directement dans la session d'un agent, attachez-vous à la ligne pour entrer dans la conversation complète.

Pour comparer la vue agent avec les sous-agents, les équipes d'agents et les worktrees, consultez Exécuter les agents en parallèle. La vue agent exécute les sessions sur votre machine et vous lancez chacune d'elles ; pour que Claude démarre et suive les sessions parallèles dans le cloud à partir d'une seule conversation, consultez Projets.

Démarrage rapide

Cette procédure pas à pas couvre la boucle principale de la vue agent : dispatcher une tâche, regarder sa ligne se mettre à jour au fur et à mesure que Claude travaille, jeter un coup d'œil pour vérifier et répondre, et s'attacher pour la conversation complète. La session que vous dispatcher continue de s'exécuter après que vous fermiez la vue agent, vous pouvez donc partir et y revenir.

1

Ouvrir la vue agent

Depuis votre shell, exécutez :

claude agents

Si vous n'avez pas encore accepté la boîte de dialogue de confiance de l'espace de travail pour le répertoire, Claude Code l'affiche avant que la vue agent ne s'ouvre, la même boîte de dialogue que claude affiche. Acceptez pour enregistrer la confiance pour l'espace de travail et continuer. Si vous refusez, Claude Code se ferme sans ouvrir la vue agent.

La vue agent s'ouvre avec une entrée en bas et un tableau qui se remplit au fur et à mesure que les sessions commencent. Appuyez sur Esc pour revenir à votre shell ; si vous avez ouvert la vue agent en mettant une session en arrière-plan avec ←, Esc revient à cette conversation à la place. Vos sessions continuent de s'exécuter pendant que vous êtes absent et réapparaissent la prochaine fois que vous ouvrez la vue agent.

2

Dispatcher une session

Tapez une invite décrivant une tâche et appuyez sur Entrée. Une nouvelle session en arrière-plan démarre sur cette tâche et apparaît sous forme de ligne indiquant si elle fonctionne, attend votre intervention, ou est terminée. La nouvelle session utilise le modèle affiché dans l'en-tête de la vue agent. Le mode de permission dans lequel elle démarre dépend de la façon dont vous avez ouvert la vue agent.

Chaque invite que vous entrez ici démarre sa propre nouvelle session. Taper une autre invite et appuyer sur Entrée lance une deuxième session aux côtés de la première plutôt que d'envoyer un suivi à celle-ci. Vous pouvez en exécuter plusieurs en parallèle de cette façon.

Chaque session utilise votre quota d'abonnement indépendamment, consultez donc Limitations avant de dispatcher plusieurs à la fois.

3

Jeter un coup d'œil et répondre

Sélectionnez une ligne avec les touches fléchées et appuyez sur Espace pour ouvrir le panneau d'aperçu. Il affiche la sortie la plus récente de la session, ou la question sur laquelle elle attend, plutôt que la transcription complète. Tapez une réponse et appuyez sur Entrée pour l'envoyer sans quitter la vue agent.

4

S'attacher et se détacher

Appuyez sur Entrée ou → sur une ligne pour vous attacher quand vous voulez la conversation complète. La session prend le contrôle du terminal en tant que session Claude Code interactive complète. Appuyez sur ← sur une invite vide pour vous détacher et revenir au tableau.

5

Amener une session existante

Cette étape nécessite une session en cours d'exécution. Si vous avez suivi les étapes précédentes, vous n'en avez pas ouverte dans ce terminal, ouvrez donc une session claude régulière dans un autre terminal et envoyez-lui d'abord un message.

Pour déplacer une session que vous avez déjà ouverte dans la vue agent, exécutez /bg à l'intérieur, ou appuyez sur ← sur une invite vide pour la mettre en arrière-plan et ouvrir la vue agent en une seule étape. Dans une session nouvelle sans messages encore, /bg vous demande d'envoyer d'abord un message, tandis que ← fonctionne immédiatement. La session continue de s'exécuter et apparaît sous forme de ligne aux côtés de celles que vous avez dispatchées.

Vous pouvez utiliser claude agents comme point d'entrée principal au lieu de claude : dispatcher chaque tâche à partir de la vue agent, vous attacher quand vous voulez la conversation complète, et appuyer sur ← pour revenir au tableau.

À l'intérieur d'une session claude régulière, l'indice ← du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme ← 2 agents, et revient à ← for agents quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme 99+. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme ← 2 done. Les deux flashs sont désactivés quand le paramètre prefersReducedMotion est activé, et l'indice est masqué en mode lecteur d'écran.

Surveiller les sessions avec la vue agent

Exécutez claude agents pour ouvrir la vue agent. Elle prend le contrôle du terminal complet et répertorie chaque session groupée par état, avec les sessions épinglées et celles qui vous attendent en haut. Chaque ligne affiche le nom de la session, l'activité actuelle et son ancienneté, comptée à partir de la création de la session ; l'ancienneté d'une session terminée se fige à la durée d'exécution.

Le nom est teinté de la couleur définie par /color dans cette session, y compris lorsque vous mettez une session en arrière-plan avec ← ou /background.

Par défaut, la liste affiche chaque session en arrière-plan que vous avez démarrée, dans tous vos projets. Une session travaillant dans un référentiel et une autre dans un worktree différent apparaissent toutes les deux ici, quel que soit le répertoire à partir duquel vous avez ouvert la vue agent. Pour réduire la liste à un projet, passez --cwd :

claude agents --cwd ~/projects/my-app

Cela affiche uniquement les sessions démarrées sous ce répertoire. Elle répertorie toujours une session qui a déménagé dans un worktree sous ~/projects/my-app/.claude/worktrees/.

Les sessions interactives que vous avez ouvertes dans d'autres terminaux n'apparaissent que lorsque vous les mettez en arrière-plan. Les sous-agents et les coéquipiers qu'une session génère ne sont pas répertoriés comme des lignes distinctes.

Pinned
  ✽ clawd walk cycle          Drawing the walk-cycle sprite frames          3m

Ready for review
  ∙ jump physics              Opened PR with collision fix                 #2048  2h

Needs input
  ✻ power-up design           double jump or wall climb?                    1m

Working
  ✽ collision detection       Adding swept-AABB checks to CollisionSystem   2m
  ✢ playtest level 3          run 12 · all checkpoints cleared           in 4m

Completed
  ✻ title screen              result: menu, options, and credits done       9m
  ∙ sound effects             result: 14 SFX exported to assets/audio       4h
  … 6 more

Lire l'état de la session

Chaque ligne commence par une icône dont la couleur et l'animation indiquent l'état de la session :

État L'icône s'affiche comme Ce que cela signifie
Working Animée Claude exécute activement des outils ou génère une réponse
Needs input Jaune Claude attend quelque chose que seul vous pouvez fournir : une réponse à une question, une décision d'autorisation, ou une autre invite que seul vous pouvez répondre, comme une invite sandbox pour autoriser un hôte réseau ou la demande d'entrée d'un serveur MCP. Une commande qui nécessite un terminal attaché, comme /install-github-app ou la liste des paramètres /mcp, maintient également une session sans surveillance ici
Idle Estompée La session n'a rien à faire et est prête pour votre prochaine invite
Completed Verte La tâche s'est terminée avec succès
Failed Rouge La tâche s'est terminée avec une erreur
Stopped Grise Vous avez arrêté la session avec Ctrl+X ou claude stop, son processus a été terminé de l'extérieur de Claude Code, ou elle s'est terminée alors que le service en arrière-plan était désactivé

Séparément, la forme de l'icône indique si le processus sous-jacent est en cours d'exécution :

Forme Ce que cela signifie
✻ ou ✽ animée Le processus de session est actif et répond immédiatement
∙ Le processus a quitté. Vous pouvez toujours jeter un coup d'œil à la ligne, et lorsque vous répondez ou attachez, Claude redémarre à partir de là où il s'était arrêté
✢ Une session /loop en sommeil entre les itérations. La ligne affiche son nombre d'exécutions et un compte à rebours

L'étiquette #N ou !N qui peut apparaître au bord droit d'une ligne est un lien vers la demande de tirage ou demande de fusion de la session, et non une partie de l'icône d'état.

Le titre de l'onglet du terminal affiche le nombre d'entrées en attente pendant que la vue agent est ouverte : 2 awaiting input · claude agents lorsque les sessions ont besoin d'entrée, ou claude agents lorsqu'aucune n'en a besoin.

Pour lire l'état de la session à partir d'un script ou d'un autre programme, utilisez claude agents --json plutôt que les fichiers sous ~/.claude/jobs/.

Pendant que la vue agent est ouverte, Claude Code envoie également une notification via votre canal de notification de terminal configuré lorsqu'une session en arrière-plan local commence à avoir besoin de votre entrée, se termine ou échoue. Les sessions qui s'exécutent selon un calendrier, comme les sessions /loop, ne notifient que lorsqu'elles ont besoin de votre entrée. Les notifications utilisent le même paramètre preferredNotifChannel que le reste de Claude Code et déclenchent le hook Notification avec le type agent_needs_input ou agent_completed.

Les sessions en arrière-plan n'ont besoin d'aucun terminal ouvert pour continuer à fonctionner. Un processus superviseur distinct les exécute, vous pouvez donc fermer la vue agent, fermer votre shell ou démarrer une nouvelle session interactive et votre travail envoyé continue.

L'état de la session persiste sur le disque via les mises à jour automatiques et les redémarrages du superviseur. Les sessions sont également préservées lorsque votre machine se met en veille. Leurs processus reprennent au réveil et le superviseur se reconnecte à eux au lieu de traiter l'écart de temps comme inactif. L'arrêt arrête toujours les sessions en cours d'exécution ; voir Sessions affichées comme échouées ou arrêtées après l'arrêt pour savoir comment les récupérer.

Une session qui était en pleine réponse lorsque la machine s'est mise en veille peut revenir sans réponse. Lorsque vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée.

Résumés de lignes

Le résumé d'une ligne est généré par un modèle de classe Haiku afin que la ligne puisse vous dire ce que la session fait, ce dont elle a besoin ou ce qu'elle a produit sans ouvrir la transcription. Pendant qu'une session travaille activement, le texte de la ligne se met à jour au maximum une fois toutes les 15 secondes à partir de la sortie récente de la session sans envoyer de demande de modèle, et le modèle écrit un résumé frais à la fin de chaque tour.

Une ligne de travail affiche ce que la session dit qu'elle fait, et une ligne bloquée affiche la question qu'elle pose. Pendant un long tour, le modèle réécrit également le résumé toutes les quelques minutes afin qu'une ligne occupée ne continue pas à afficher un résumé obsolète. Le texte du résumé remplit la largeur restante de la ligne ; ouvrez le panneau d'aperçu pour lire une phrase que le bord du terminal coupe.

Lorsque la liste est groupée par répertoire, le résumé s'ouvre avec l'état de la session en tant que mot coloré, comme Needs input · double jump or wall climb?. Dans le groupement d'état par défaut, l'en-tête du groupe nomme déjà l'état, la ligne affiche donc uniquement le résumé.

Le résumé de fin de tour et chaque réécriture à mi-tour sont une courte demande de classe Haiku via votre fournisseur normal, facturée et traitée selon les mêmes conditions d'utilisation des données que la session elle-même. Les mises à jour de 15 secondes entre les réécritures de modèle réutilisent la sortie de la session elle-même et n'envoient pas de demande. Sur un fournisseur tiers ou une passerelle sans modèle de classe Haiku configuré, la demande utilise le modèle principal de la session à la place ; définissez ANTHROPIC_DEFAULT_HAIKU_MODEL pour en choisir un.

État de la demande de tirage

Lorsqu'une session ouvre une demande de tirage, Claude Code ajoute une étiquette au bord droit de la ligne, liée à la demande de tirage :

  • Claude Code écrit l'étiquette comme #1234 pour une demande de tirage et comme !1234 pour une demande de fusion GitLab.
  • Claude Code émet le lien même lorsqu'il ne peut pas détecter la prise en charge des hyperliens, par exemple sur SSH ou tmux. Définissez FORCE_HYPERLINK=0 pour afficher l'étiquette en tant que texte brut.
  • Après avoir envoyé un suivi à la session, Claude Code conserve l'étiquette tandis que la ligne revient à la progression en direct.

Une session qui travaille sur une demande de tirage existante y est liée de la même manière. Claude Code trouve la demande de tirage différemment selon la commande que Claude exécute :

  • Lorsque Claude modifie, commente, ferme ou marque une demande de tirage comme prête avec gh, Claude Code lie la demande de tirage que la sortie de la commande elle-même nomme. Une commande gh dont la sortie capturée ne nomme aucune demande de tirage ne crée pas de lien ; gh pr merge est le cas courant, car il imprime son résultat uniquement sur un terminal interactif.
  • Lorsque Claude extrait une demande de tirage avec gh pr checkout ou pousse vers une branche, Claude Code recherche la branche avec gh pr view et lie sa demande de tirage ouverte.
  • La demande de tirage n'a pas besoin d'exister encore lorsque Claude pousse : Claude Code réessaie la recherche de branche après jusqu'à cinq commandes git, gh, glab ou curl ultérieures exécutées dans le même répertoire, afin qu'une demande de tirage créée après le push, y compris celle que Claude crée via l'API REST GitHub, se lie lorsqu'une nouvelle tentative la trouve.

Lorsqu'une session est liée à plus d'une demande de tirage, l'étiquette affiche un nombre à la place, comme 3 PRs, colorée par la demande de tirage ouverte qui a le plus besoin d'attention. Ouvrez le panneau d'aperçu pour les voir toutes.

Le numéro de la demande de tirage est coloré selon son état :

Couleur État de la demande de tirage
Jaune En attente de vérifications ou d'examen, ou les vérifications ont échoué
Vert Les vérifications ont réussi et aucun examen ne bloque
Violet Fusionné
Gris Brouillon ou fermé

Pour une tâche qui se termine par une demande de tirage, vérifiez cette étiquette pour le résultat : examinez et fusionnez la demande de tirage lorsque son numéro devient vert.

Aperçu et réponse

Appuyez sur Space sur une ligne sélectionnée pour ouvrir le panneau d'aperçu. Il s'ouvre avec la phrase que la ligne tronque au bord du terminal, et quelle phrase c'est dépend de l'état de la session :

  • Une session qui vous attend : la question exacte qu'elle pose, au-dessus de l'entrée de réponse
  • Une session terminée : son résultat
  • Une session de travail : sa phrase d'état complète

Toutes les demandes de tirage liées à la session sont répertoriées ensuite. Pour une session qui vous attend, une ligne comme waiting 3m en dessous d'elles montre depuis combien de temps elle attend, et c'est la seule fois affichée dans le panneau. L'ancienneté au bord droit de la ligne est un nombre différent : elle compte à partir du moment où la session a démarré.

La plupart du temps, le panneau d'aperçu suffit et vous n'avez pas besoin d'ouvrir la transcription complète.

Tapez une réponse dans le panneau d'aperçu et appuyez sur Enter pour l'envoyer à cette session. Lorsque la session pose une question avec des choix prédéfinis, le panneau d'aperçu les affiche sous forme de liste numérotée et vous pouvez appuyer sur une touche numérique pour en choisir une. Une invite de permission s'affiche sous forme de texte décrivant ce que la session souhaite exécuter, sans options numérotées. Tapez une réponse pour y répondre, ou attachez-vous pour répondre avec l'invite standard. Pour les autres sessions bloquées, appuyez sur Tab pour remplir l'entrée avec une réponse suggérée que vous pouvez modifier avant d'envoyer. Préfixez une réponse avec ! pour envoyer une commande Bash à la place.

Lorsqu'un hook PermissionRequest ou PreToolUse retourne une sortie que Claude Code ne peut pas valider pour l'appel que la session demande, la ligne affiche l'événement du hook et hook output invalid: avec l'erreur de validation avant le texte de la demande en attente. Pour un hook qui échoue d'une autre manière, la ligne dit que le hook a échoué. La session attend toujours la même demande.

Une réponse qui ne peut pas être livrée, parce que le service en arrière-plan est inaccessible ou que l'envoi échoue, est enregistrée et envoyée à la session comme sa prochaine invite lorsque son processus redémarre, et le message d'erreur dit que la réponse a été enregistrée. Une réponse préfixée avec ! n'est pas enregistrée, car le texte enregistré atteindrait la session en tant qu'invite simple plutôt que d'exécuter en tant que commande Bash.

Avec la dictée vocale activée, maintenez ou appuyez sur votre touche push-to-talk pendant que l'entrée de réponse est concentrée pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de dispatch en bas de la vue agent.

Utilisez ↑ et ↓ pour jeter un coup d'œil aux sessions adjacentes sans fermer le panneau, ou → pour vous attacher.

Attacher à une session

Appuyez sur Enter ou → sur une ligne sélectionnée pour vous attacher. La vue agent est remplacée par la session interactive complète. Lorsque vous vous attachez, Claude publie un court récapitulatif de ce qui s'est passé pendant que vous étiez absent.

Pendant que vous êtes attaché, la session se comporte comme n'importe quelle autre session Claude Code : les commandes, les raccourcis clavier et les fonctionnalités fonctionnent tous, à l'exception des cas ci-dessous.

Pendant que vous êtes attaché, /install-github-app et la liste des paramètres /mcp fonctionnent normalement, car un humain au terminal peut compléter leurs dialogues. Lorsque personne n'est attaché, ces commandes ne peuvent pas ouvrir leurs dialogues, la session apparaît donc sous Needs input dans la vue agent avec une ligne comme open this session to manage MCP servers, et la réponse de la transcription dit la même chose. Attachez-vous et exécutez à nouveau la commande pour continuer ; la ligne needs-input s'efface lorsque vous vous attachez. /mcp reconnect <server>, /mcp enable et /mcp disable fonctionnent sans s'attacher de toute façon.

Les sessions attachées s'affichent toujours en mode plein écran, quel que soit votre paramètre tui, car une session en arrière-plan n'a pas de défilement de terminal pour ajouter. Faites défiler avec PgUp, PgDn ou la molette de la souris, et appuyez sur Ctrl+O pour le mode transcription. Le défilement natif de votre terminal et le mode copie tmux affichent uniquement la fenêtre d'affichage actuelle, comme lorsque vous exécutez n'importe quelle application plein écran.

Appuyez sur ← sur une invite vide, ou exécutez /exit, pour vous détacher et revenir à la vue agent, que vous ayez ouvert la session à partir de la vue agent ou avec claude attach <id> à partir de votre shell.

← se détache également pendant que la superposition /btw est ouverte. Nécessite Claude Code v2.1.257 ou ultérieur. Une question latérale qui répond toujours continue de s'exécuter pendant que vous êtes absent. La prochaine fois que vous vous attachez, la superposition se rouvre avec elle, ou avec sa réponse.

Sur Windows, si vous appuyez sur ← dans environ une demi-seconde après vous être attaché, Claude Code affiche Ambiguous ←, press again to detach, car dans cette fenêtre le terminal peut redélivrer une pression d'avant votre attachement. Appuyez sur ← à nouveau pour vous détacher.

Ctrl+Z se détache également mais revient à où vous avez commencé à la place : la vue agent si vous vous êtes attaché à partir de là, ou votre shell si vous avez exécuté claude attach. Utilisez Ctrl+Z lorsqu'un dialogue a le focus et ne répond pas à ←.

Ctrl+C conserve son comportement d'interruption standard pendant l'attachement : il annule une réponse en cours d'exécution ou une commande shell ! plutôt que de se détacher. Appuyer sur Ctrl+C deux fois sur une invite vide se détache, comme dans n'importe quelle session.

Le détachement n'arrête jamais une session en arrière-plan : ←, Ctrl+Z, /exit et double Ctrl+C ou double Ctrl+D la laissent tous en cours d'exécution. Pour terminer une session de l'intérieur, exécutez /stop.

Basculer les sessions sans quitter le terminal

Dans une session s'exécutant au premier plan, une que vous avez démarrée dans le terminal plutôt que de vous y attacher à partir de la vue agent, appuyer sur ← sur une invite vide la met en arrière-plan et ouvre la vue agent avec cette ligne sélectionnée, afin que vous puissiez basculer les sessions sans quitter le terminal. Le même appui unique détache une session attachée.

Si vous appuyez sur ← juste après avoir supprimé le dernier texte de l'invite ou vous être déplacé dans l'historique des invites, Claude Code vous demande de confirmer : le premier appui affiche Press ← again to open agents, ou Press ← again to go back to agents dans une session attachée, et le deuxième appui bascule.

Lorsque ← met une session au premier plan en arrière-plan, la vue agent affiche Your conversation moved to the background au-dessus de la liste, avec la ligne de cette session déjà sélectionnée. À partir de là :

  • Appuyez sur Enter pour rouvrir la conversation.
  • Appuyez sur Esc pour annuler le basculement et revenir à la conversation. Si Esc affiche Still starting — try again in a moment, la session en arrière-plan n'est pas encore prête, appuyez donc sur Esc à nouveau dans un moment.
  • Appuyez sur Ctrl+C deux fois pour quitter vers votre shell.

Lorsque Claude Code ne peut pas rouvrir la conversation, il quitte et imprime une commande claude --resume qui la reprend.

La liste des tâches de Claude se déplace vers la session en arrière-plan avec la conversation, afin que la liste de contrôle soit intacte lorsque vous reveniez à cette ligne.

La ligne sur laquelle vous avez appuyé sur ← conserve également un nom gras et non estompé après avoir déplacé la sélection avec les touches fléchées ou la souris, afin que vous puissiez dire de quelle session vous venez.

Si un outil s'exécute lorsque vous appuyez sur ←, Claude Code attend environ dix secondes qu'il se termine avant de mettre en arrière-plan, et Claude continue la réponse dans la session en arrière-plan. Appuyez sur ← à nouveau pour mettre en arrière-plan immédiatement au lieu d'attendre. Lorsque le travail en vol ne peut pas être transféré à la session en arrière-plan, Claude Code affiche d'abord le dialogue Background this session?, comme avec /background.

La limite de dix secondes ne s'applique pas pendant que les sous-agents au premier plan que Claude a démarrés dans la conversation s'exécutent toujours. Claude Code continue d'attendre afin que leur travail soit transféré, et affiche un avis Still backgrounding after the current tool pendant qu'il attend. Appuyez sur ← à nouveau pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents à partir du début. Claude Code n'attend pas les sous-agents qu'un flux de travail dynamique exécute. Lorsqu'un flux de travail a des sous-agents en cours d'exécution, Claude Code affiche le dialogue Background this session? à la place.

Claude Code ne met pas la session en arrière-plan pendant que vous avez du texte non envoyé dans l'entrée d'invite, car le texte reste dans la boîte d'entrée de votre terminal et ne se déplacerait pas vers la session en arrière-plan. Si vous tapez dans l'entrée pendant que Claude Code attend de mettre la session en arrière-plan, il annule le basculement avec Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.

Appuyer sur ← crée la ligne de la session même lorsque la conversation n'a pas encore de messages, afin que → revienne toujours à elle.

Vous pouvez désactiver ce raccourci avec le paramètre leftArrowOpensAgents dans /config.

Organiser la liste

La vue agent groupe les sessions afin que celles qui ont besoin d'entrée soient en haut, avec Ready for review et Needs input au-dessus de Working et Completed. Ces noms de groupe ne correspondent pas un-à-un aux états ci-dessus : une session se déplace vers Ready for review lorsqu'elle a une demande de tirage ouverte, et Completed collecte les sessions terminées, échouées et arrêtées ensemble.

Appuyez sur Ctrl+S pour grouper par répertoire à la place. Votre choix persiste entre les exécutions.

Dans un groupe :

  • Appuyez sur Ctrl+T pour épingler une session en haut et garder son processus en cours d'exécution pendant l'inactivité
  • Appuyez sur Shift+↑ ou Shift+↓ pour réorganiser les sessions
  • Appuyez sur Ctrl+R pour renommer une session
  • Appuyez sur Enter sur un en-tête de groupe pour le réduire

Pour supprimer une session de la liste, appuyez sur Ctrl+X pour l'arrêter et Ctrl+X à nouveau dans les deux secondes pour la supprimer. Appuyer sur Ctrl+X sur un en-tête de groupe supprime chaque session de ce groupe après confirmation.

Le deuxième appui supprime la session même lorsque la tentative d'arrêt échoue, par exemple parce que le service en arrière-plan ne répond pas : la confirmation reste active pendant deux secondes supplémentaires, et la suppression termine le processus de la session lui-même. Appuyez sur Esc pour rejeter la confirmation sans supprimer.

Sauf dans les cas conservés couverts dans Ce que la suppression d'une session supprime, la suppression supprime la session de la liste, et un worktree que Claude a créé pour elle est supprimé, conservé ou laissé en place selon la façon dont vous supprimez et ce que le worktree contient. La transcription de la conversation reste toujours sur votre machine locale, disponible via claude --resume.

Pour ramener une session sur Claude Code v2.1.212 ou ultérieur, tapez /resume dans l'entrée de dispatch. Un sélecteur s'ouvre avec les sessions passées du référentiel à partir duquel vous avez ouvert la vue agent, les plus récentes en premier, y compris les sessions que vous avez supprimées de la liste ; les sessions qui ont déjà une ligne ne sont pas répertoriées. ↑/↓ déplacent la sélection, Enter reprend la session sélectionnée en tant que session en arrière-plan afin qu'elle se réjoigne la liste en tant que ligne, et Esc ferme le sélecteur.

Le sélecteur s'ouvre uniquement pour un /resume nu. Une reprise ciblée, scoped ou restreinte ne peut pas être servie par le sélecteur, la vue agent affiche donc l'indice attach to a session to run it à la place lorsque :

  • /resume nomme un id ou un terme de recherche
  • la vue est scoped avec --cwd
  • la vue a été démarrée avec --safe-mode
  • la vue a été ouverte avec un drapeau comme --permission-mode ou --settings

Les sessions terminées qui ne rentrent pas à l'écran se replient dans une ligne … N more. Les défaillances et les sessions avec une demande de tirage ouverte restent toujours visibles. Le groupe Completed remplit l'espace vertical laissé après les groupes en direct, et sur un terminal court, l'en-tête se compacte en une seule ligne de résumé afin que les sessions qui travaillent ou ont besoin d'entrée restent visibles.

Filtrer les sessions

Tapez dans l'entrée de dispatch pour filtrer au lieu de dispatcher :

Filtre Affiche
a:<name> Sessions exécutant l'agent nommé
s:<state> Sessions dans l'état donné, comme s:working. Accepte également s:blocked pour tout ce qui vous attend
#<number> ou une URL de demande de tirage ou de fusion La session travaillant sur cette demande de tirage ou de fusion
N'importe quelle autre URL La session dont la première invite contenait cette URL

Raccourcis clavier

Appuyez sur ? dans la vue agent pour voir chaque raccourci en contexte. Le tableau ci-dessous les résume.

Raccourci Action
↑ / ↓ Se déplacer entre les lignes
Enter Attacher à la session sélectionnée, ou dispatcher s'il y a du texte dans l'entrée
Space Ouvrir ou fermer le panneau d'aperçu pour la session sélectionnée
Shift+Enter Insérer une nouvelle ligne dans l'entrée de dispatch, comme dans l'invite principale
Ctrl+Enter Dispatcher et attacher immédiatement, dans les terminaux où la superposition ? répertorie ctrl+enter to start and open
→ Attacher à la session sélectionnée
Alt+1..Alt+9 Attacher à la session 1–9 dans le répertoire de la session concentrée
Tab Sur une entrée vide, parcourir tous les sous-agents. Sinon appliquer la suggestion en surbrillance
Ctrl+S Basculer le groupement entre l'état et le répertoire
Ctrl+T Épingler ou dépingler la session sélectionnée
Ctrl+R Renommer la session sélectionnée
Ctrl+G Ouvrir l'invite de dispatch dans votre $VISUAL ou $EDITOR
Ctrl+J Insérer une nouvelle ligne dans l'entrée de dispatch
Ctrl+X Arrêter la session ; appuyez à nouveau dans les deux secondes pour la supprimer
Shift+↑ / Shift+↓ Réorganiser la session sélectionnée
Esc Fermer le panneau d'aperçu, effacer l'entrée ou quitter. Lorsque vous avez ouvert la vue agent en mettant votre session en arrière-plan avec ←, le Esc final revient à cette conversation au lieu de quitter. Avec le mode éditeur vim activé, appuyer sur Esc dans l'entrée bascule du mode INSERT au mode NORMAL et conserve votre texte, comme dans l'invite principale
Ctrl+C Effacer l'entrée ; appuyez deux fois pour quitter
? Afficher tous les raccourcis

Ctrl+S, Ctrl+T et Ctrl+G suivent votre keybindings.json. Reliez ou déliez Ctrl+S et Ctrl+T avec les actions agents:switchView et agents:togglePin dans le contexte Agents, et Ctrl+G via la liaison chat:externalEditor du contexte Chat. Les autres raccourcis du tableau ne peuvent pas être reliés.

Lancer de nouveaux agents

Vous pouvez lancer de nouvelles sessions en arrière-plan à partir de la vue agent, envoyer une session interactive existante en arrière-plan, ou en démarrer une directement depuis le shell.

À partir de la vue agent

Tapez une invite dans l'entrée en bas de la vue agent et appuyez sur Entrée pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir de l'invite ; renommez-la plus tard avec Ctrl+R.

Le nom automatique est un court libellé écrit par un modèle de classe Haiku. Un nom que la session obtient plus tard apparaît également sur sa ligne, y compris le titre généré que la session obtient quand vous acceptez un plan dans cette session.

Collez une image dans l'invite pour inclure une capture d'écran ou un diagramme avec la tâche.

Le texte collé plus long que 800 caractères ou plus de trois lignes s'effondre en un espace réservé [Pasted text #N] pour que l'entrée reste sur une ligne ; le texte complet est envoyé quand vous lancez. Pour examiner ou modifier le texte effondré avant de lancer, collez le même texte à nouveau et l'espace réservé se développe dans l'entrée.

Préfixez ou mentionnez des parties de l'invite pour contrôler comment la session démarre :

Entrée Effet
<agent-name> <prompt> Si le premier mot correspond à un nom de sous-agent personnalisé, ce sous-agent s'exécute comme l'agent principal de la session avec la configuration de son frontmatter
@<agent-name> Mentionnez un sous-agent personnalisé n'importe où dans l'invite pour l'exécuter comme l'agent principal
@<repo> Mentionnez un référentiel pour exécuter la session là. Voir Lancer vers un répertoire spécifique pour savoir quels référentiels sont listés
/<command> Suggérez des skills et des commandes à lancer comme l'invite
! <command> Exécutez une commande shell comme une tâche en arrière-plan au lieu de démarrer une session Claude. La tâche apparaît comme une ligne à laquelle vous pouvez vous attacher, regarder et vous détacher
#<number> ou une URL de pull request ou merge request Si une session travaille déjà sur cette pull request ou merge request, Claude Code sélectionne sa ligne au lieu de lancer une nouvelle session

Un petit ensemble de commandes s'exécutent dans la vue agent elle-même au lieu de lancer :

  • /exit et /quit ferment la vue agent
  • /logout vous déconnecte
  • /model définit le modèle de lancement
  • /login ouvre la boîte de dialogue de connexion pour que vous puissiez vous connecter à nouveau sans vous attacher à une session
  • Un /resume nu, ou son alias /continue, ouvre un sélecteur des sessions passées du référentiel pour en ramener une comme une session en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur

Les skills, vos propres commandes, et les built-ins qui développent les invites comme /init sont envoyés à une nouvelle session en arrière-plan comme leur première invite. Les autres commandes built-in affichent plutôt un indice attach to a session to run it. Tout ce que vous avez tapé reste dans l'entrée à côté de l'indice pour que vous puissiez le modifier.

Empaqueter une tâche récurrente comme un skill vous permet de démarrer le même workflow à partir de la vue agent à plusieurs reprises sans retaper l'invite.

Quand le même @name correspond à la fois à un sous-agent et à un référentiel frère, le sous-agent prend la priorité. La correspondance du premier mot sans @ s'applique également, donc une invite qui commence par l'un de vos noms de sous-agent lance ce sous-agent plutôt que de traiter le mot comme du texte brut. Utilisez la forme @ quand vous voulez être explicite, ou commencez l'invite par un mot différent pour éviter la correspondance.

Lancer vers un répertoire spécifique

Une nouvelle session s'exécute dans le répertoire à partir duquel vous avez ouvert la vue agent. Pour cibler un répertoire différent, utilisez l'un de ceux-ci :

  • Ouvrez claude agents dans ce répertoire.

  • Ouvrez claude agents dans un répertoire parent et mentionnez un référentiel enfant avec @<repo> dans l'invite. Taper @ liste ces cibles :

    • Les référentiels Git un niveau en dessous du répertoire de lancement
    • Les git worktrees enregistrés du référentiel à partir duquel vous avez lancé qui vivent à l'intérieur de son arborescence de répertoires, comme ceux que Claude crée sous .claude/worktrees/, étiquetés avec leur branche extraite. Les worktrees ajoutés en dehors du référentiel, comme avec git worktree add ../feature, ne sont pas listés
    • Tout répertoire qui a déjà une session dans la liste

    Un répertoire dont le nom contient un espace n'est pas listé.

  • Depuis le shell, cd dans le répertoire et exécutez claude --bg "<prompt>".

Quand la vue agent est groupée par répertoire, le lancement envoie l'invite au répertoire de la ligne sélectionnée, vous pouvez donc sélectionner un groupe et lancer dedans sans retaper le chemin.

À partir d'une session

Deux commandes déplacent le travail de la session dans laquelle vous êtes vers l'arrière-plan : /background envoie la conversation actuelle là et libère votre terminal, et /fork envoie une copie tandis que vous continuez à travailler où vous êtes.

Envoyer la session en arrière-plan

Exécutez /background ou son alias /bg pour déplacer la conversation actuelle dans une session en arrière-plan. Passez une invite comme /bg run the test suite and fix any failures pour donner une instruction supplémentaire d'abord. Si Claude répond quand vous exécutez /bg, la réponse continue dans la session en arrière-plan.

Quitter une session qui a encore du travail en arrière-plan en cours d'exécution, comme des sous-agents, des commandes shell en arrière-plan, des workflows, ou des monitors, affiche une boîte de dialogue Background work is running au lieu de quitter immédiatement. Choisissez Move to background and exit pour mettre la session en arrière-plan de la même manière que /background le fait et revenir à votre shell. L'option n'est pas affichée quand la vue agent est désactivée.

Si une session en arrière-plan sur la liste a déjà le nom de la conversation, Claude Code numérote le nom de la nouvelle ligne, comme my-session (2), et laisse le nom de la ligne existante seul. Pour renommer la nouvelle ligne, sélectionnez-la dans la vue agent et appuyez sur Ctrl+R.

Copier la session avec /fork

Exécutez /fork pour copier la conversation actuelle dans une nouvelle session en arrière-plan tandis que l'original continue de s'exécuter. La copie commence avec tout ce qui se trouve dans la conversation jusqu'à ce point ; voir les puces ci-dessous pour savoir où la copie s'exécute. Elle porte également le modèle, le mode de permission, le niveau d'effort, et tous les répertoires ou les autorisations « ne pas demander à nouveau » que vous avez ajoutés pendant la session. La copie apparaît comme sa propre ligne dans la vue agent.

Après le fork, les deux conversations sont indépendantes : rien de ce que la copie fait n'entre dans la conversation originale de son propre chef, bien que dans les sessions où la messagerie inter-sessions est activée, Claude de l'une ou l'autre session peut explicitement envoyer un message à l'autre.

Copier la session nécessite Claude Code v2.1.212 ou ultérieur ; sur v2.1.161 à v2.1.211, /fork démarre un sous-agent forké à la place, qui est maintenant /subtask. Quand la vue agent est désactivée, /fork conserve le comportement du sous-agent forké et /subtask n'est pas disponible.

Passez une invite comme /fork open a draft pull request with the work so far et la copie commence à travailler dessus immédiatement. Sans une invite, la copie attend sa première instruction : sélectionnez sa ligne dans claude agents et appuyez sur Espace pour en envoyer une, ou exécutez claude attach <id>. La ligne sélectionnée affiche space to send it a prompt tandis qu'elle attend.

La confirmation /fork est une ligne montrant l'état de la copie, comme session running, le nom de sa ligne de vue agent, et son ID de session pour claude attach. Cliquez sur le nom pour basculer dans la copie : cette session se déplace en arrière-plan, de la même manière qu'appuyer sur ←, et la vue agent ouvre la session de la copie.

Sauf quand la copie édite sur place, Claude Code lui ordonne de créer sa propre worktree avant de faire des modifications de code. En dehors d'un référentiel git, seule une copie déplacée hors d'une worktree créée par hook reçoit l'instruction ; sans hook WorktreeCreate, la copie édite sur place. Une copie déplacée hors de votre worktree est également informée de ne jamais éditer, exécuter des commandes dans, ou entrer dans cette worktree, quel que soit le paramètre d'isolation.

L'endroit où la copie démarre dépend de l'endroit où la session actuelle s'exécute :

  • Comme toute session lancée, la copie se déplace dans sa propre worktree avant d'éditer des fichiers. Dans ce cas, la confirmation ne mentionne pas où la copie s'exécute.
  • Quand votre session s'est déplacée dans sa worktree liée après son démarrage, la copie démarre là où la session était avant le déplacement et, sauf si elle édite sur place, fait ses modifications de code dans sa propre worktree là. Quand votre worktree est extraite sur une branche, cette instruction dit également à une copie dont la tâche s'appuie sur votre travail de baser sa nouvelle branche sur la vôtre, puisque votre branche reste extraite dans votre worktree. La confirmation se termine par runs in the origin tree.
  • Quand vous avez lancé la session à l'intérieur d'une worktree liée d'un référentiel qui a un arbre de travail principal, la copie démarre dans cet arbre de travail principal, avec la même règle de worktree-de-la-sienne mais sans instruction de branche. La confirmation se termine par runs in the origin tree ici aussi.
  • Une session lancée à l'intérieur d'une worktree d'une disposition de référentiel nu n'a pas d'arbre de travail principal auquel revenir, donc la copie reste où elle est, et la confirmation se termine par edits this checkout. La même note apparaît quand l'isolation de worktree est désactivée dans une session qui n'est pas à l'intérieur d'une worktree liée, parce que la copie édite alors les fichiers que vous avez ouverts.

Les sessions démarrées avec des drapeaux de lancement que la copie n'hériterait pas, comme une invite système remplacée ou une liste d'autorisation --tools, ne peuvent pas être forkées ; Claude Code le dit au lieu de faire une copie partielle. Une session lancée à partir de la vue agent se forke normalement : la copie est lancée avec la même définition d'agent et les instructions ajoutées que la session dont elle provient.

Ce qui se transfère quand vous mettez en arrière-plan

Mettre en arrière-plan démarre un processus nouveau qui reprend à partir de la conversation enregistrée, et le travail en cours se transfère à celui-ci : les commandes shell en arrière-plan en cours d'exécution, les sous-agents mis en arrière-plan, les workflows dynamiques, les tâches planifiées que vous avez créées avec /loop, et les réponses automatiques de Claude aux commentaires d'artefacts se transfèrent tous et continuent de s'exécuter là. Un sous-agent se déplace avec tout ce qu'il a démarré, donc il se transfère uniquement quand tout ce travail peut se transférer aussi. Pour arrêter le travail en cours au lieu de le transférer, définissez la variable d'environnement CLAUDE_DISABLE_ADOPT=1 ; Claude Code vous demande alors de confirmer avant de mettre en arrière-plan.

Quand un workflow dynamique a encore des sous-agents en cours d'exécution, Claude Code demande avant de mettre en arrière-plan avec la boîte de dialogue Background this session?, qui dit combien de sous-agents redémarreraient. Choisissez Stay pour les laisser terminer d'abord. Si vous confirmez, Claude Code rejoue l'exécution dans la session en arrière-plan : les sous-agents qui s'exécutaient encore recommencent depuis le début, donc les tokens qu'ils ont utilisés jusqu'à présent sont dépensés à nouveau. Voir Reprendre après une pause pour savoir quels sous-agents terminés retournent leurs résultats enregistrés et lesquels s'exécutent à nouveau.

Claude Code arrête le travail qui ne peut pas se transférer, comme un monitor en cours d'exécution, et arrête un sous-agent mis en arrière-plan qui possède un monitor avec lui. Quand un tel travail s'exécute, Claude Code affiche la boîte de dialogue Background this session? pour que vous puissiez confirmer avant qu'il soit arrêté.

Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, monitors, et commandes en arrière-plan, et ceux-ci continuent de s'exécuter lors des détachements et réattachements ultérieurs.

Les drapeaux de configuration de la session de lancement d'origine se reportent à la session mise en arrière-plan, donc ses serveurs MCP, paramètres et modèle de secours restent en vigueur :

  • --mcp-config et --strict-mcp-config
  • --settings
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions

Les répertoires que vous avez ajoutés pendant la session avec /add-dir se reportent également. Reporter --allow-dangerously-skip-permissions maintient bypassPermissions accessible dans la session mise en arrière-plan, mais cela ne confère rien de nouveau : le mode nécessite toujours l'acceptation interactive unique décrite dans Mode de permission, modèle et effort.

À partir du shell

Passez --bg ou sa forme longue --background pour démarrer une session qui va directement en arrière-plan :

claude --bg "investigate the flaky SettingsChangeDetector test"

L'invite est l'argument positionnel, pas une valeur -p. Claude Code rejette --bg combiné avec -p ou --print avant que toute session soit créée, car --print ne démarre jamais la session interactive à laquelle claude agents s'attache.

Pour exécuter un sous-agent spécifique que vous avez défini, comme un code-reviewer, comme l'agent principal de la session, combinez --bg avec --agent :

claude --agent code-reviewer --bg "address review comments on PR 1234"

Si le nom ne correspond à aucun de vos sous-agents, le lancement échoue : Claude Code affiche un avertissement no agent named et signale toujours la session comme mise en arrière-plan, mais la session se termine immédiatement avec une erreur --agent '<name>' not found.

Quand la session mise en arrière-plan reprend ou redémarre plus tard, Claude Code restaure l'agent et ses restrictions d'outils ; pour son invite système, voir Drapeaux d'invite système dans les conversations reprises. Il recherche d'abord l'agent dans le répertoire de la session lui-même, à condition que vous ayez approuvé cet espace de travail, donc un agent limité au projet charge toujours quand la session est reprise à partir d'un autre répertoire. Si l'agent n'existe plus, la session continue avec les outils par défaut et sa transcription s'ouvre avec un avertissement nommant l'agent.

Pour continuer une conversation existante en arrière-plan, passez son ID de session complet avec --resume :

claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

Sur Claude Code v2.1.257 ou ultérieur, Claude Code continue soit cette session sous le même ID, soit démarre une copie sous un nouvel ID et affiche une ligne note: expliquant pourquoi il n'a pas pu continuer sur place. Quand la session continue sur place, claude agents affiche une ligne pour elle.

Quand vous combinez --bg avec --continue, un --resume nu, ou --resume avec un nom ou un chemin de fichier, Claude Code démarre toujours une telle copie. Ajoutez --fork-session pour démarrer une copie à dessein, sans la note.

Passez --name pour définir le nom d'affichage de la session dans la vue agent au lieu du nom généré automatiquement :

claude --bg --name "flaky-test-fix" "investigate the flaky SettingsChangeDetector test"

Après avoir mis en arrière-plan, Claude affiche l'ID court de la session et les commandes pour la gérer. Quand le service qui héberge les sessions en arrière-plan n'est pas déjà en cours d'exécution, --bg peut d'abord afficher Starting background service… au-dessus de cette sortie. Quand vous passez --name, le nom apparaît après l'ID court :

backgrounded · 7c5dcf5d · flaky-test-fix
  claude agents             list sessions
  claude attach 7c5dcf5d    open in this terminal
  claude logs 7c5dcf5d      show recent output
  claude stop 7c5dcf5d      stop this session

Exécuter une commande shell

Pour exécuter une commande shell comme une tâche en arrière-plan au lieu d'une session Claude, passez --exec. L'exemple suivant exécute pytest -x comme une tâche en arrière-plan :

claude --bg --exec 'pytest -x'

À partir de la vue agent, lancez le même type de tâche en tapant ! comme premier caractère de l'entrée de lancement : le ! s'affiche comme un préfixe, tout ce qui suit est la commande, et Entrée démarre la tâche.

La commande s'exécute comme une tâche sauvegardée par PTY et apparaît comme une ligne dans la vue agent, avec la ligne de sortie la plus récente comme son statut. Une tâche shell exécute la commande à la place de Claude, donc aucun modèle n'est invoqué et la sortie n'est pas envoyée à aucune session.

Pour voir la sortie, attachez-vous à la ligne, appuyez sur Espace pour jeter un œil sans vous attacher, ou exécutez claude logs <id> depuis votre shell. La sortie capturée reste en mémoire et n'est pas écrite sur le disque. La ligne et sa sortie se nettoient automatiquement environ cinq minutes après la sortie de la commande, donc lisez-la avant si vous avez besoin du résultat.

Comment les modifications de fichiers sont isolées

Chaque session en arrière-plan, qu'elle soit démarrée à partir de la vue agent, /bg, ou claude --bg, démarre dans votre répertoire de travail. Avant de modifier des fichiers, Claude déplace la session dans une git worktree isolée sous .claude/worktrees/, afin que les sessions parallèles puissent lire le même checkout mais chacune écrit dans la sienne. Une fois que la session est dans sa worktree, Claude Code applique l'isolation de worktree pour la session et pour tous les sous-agents qu'elle lance.

Claude ignore la worktree quand :

  • La session est déjà à l'intérieur d'une git worktree liée, que Claude l'ait créée sous .claude/worktrees/ ou que vous l'ayez créée avec git worktree add ailleurs
  • Le fichier que Claude édite est à l'intérieur d'une git worktree liée, comme une que la session ou son sous-agent a créée avec git worktree add
  • Le répertoire de travail n'est pas un référentiel git et aucun hook WorktreeCreate n'est configuré
  • L'écriture est en dehors du répertoire de travail

Pour désactiver l'isolation de worktree pour un référentiel où les git worktrees ne sont pas pratiques, définissez worktree.bgIsolation sur "none". Les sessions en arrière-plan modifient alors votre copie de travail directement sans d'abord se déplacer dans une worktree. Ajoutez le paramètre au fichier .claude/settings.json du projet :

{
  "worktree": {
    "bgIsolation": "none"
  }
}

En dehors d'un référentiel git, les sessions écrivent dans le répertoire de travail directement et ne sont pas isolées les unes des autres, donc évitez de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un système de contrôle de version différent, configurez un hook WorktreeCreate et Claude isole les modifications de la même manière qu'il le fait pour git.

Quand le hook échoue dans un répertoire qui n'est pas un référentiel git, Claude ignore l'isolation pour ce répertoire et édite le répertoire de travail sur place. À l'intérieur d'un référentiel git, Claude Code bloque les écritures au checkout partagé jusqu'à ce que Claude déplace la session dans une worktree.

Pour trouver le chemin de la worktree d'une session, jetez un œil à la session ou attachez-vous et vérifiez son répertoire de travail.

Un sous-agent que la session en arrière-plan lance hérite du répertoire de travail de la session, donc ses modifications de fichiers se retrouvent dans la worktree de la session plutôt que dans votre copie de travail. Pour donner à un sous-agent sa propre worktree séparée à la place, définissez isolation: worktree dans son frontmatter ou passez isolation: "worktree" lors de son lancement.

Quand une session en arrière-plan a fait des modifications de code dans une worktree que Claude a entrée, Claude Code ordonne à Claude de préserver le travail avant de terminer, afin qu'il survive si vous supprimez la session et sa worktree :

  • Valider et pousser : Claude valide sans demander, et pousse la branche quand le référentiel a un remote.
  • Demande de tirage en brouillon : Claude en ouvre une quand la tâche l'appelle, et l'étiquette #N apparaît sur la ligne.
  • Jamais : pousser vers main ou master, forcer les poussées, et fusionner.
  • Vos instructions git prennent la priorité : si la tâche, CLAUDE.md, ou la mémoire dit que vous gérez vous-même la validation ou la poussée, Claude vous laisse git.

Une session éditant un checkout qu'elle n'a pas isolée elle-même demande toujours avant de valider ou de changer de branche. Cela s'applique quand l'isolation est définie sur "none", quand le déplacement de la worktree a échoué, ou quand la session a démarré à l'intérieur d'une worktree qui existait déjà.

Quelle que soit la tâche, Claude termine le travail avec un rapport disant ce qu'il a fait et où le travail est : un chemin, une branche, une demande de tirage, ou la réponse elle-même.

Ce que supprimer une session supprime

Supprimez une session avec Ctrl+X deux fois dans la vue agent ou avec claude rm. Sauf dans les cas conservés ci-dessous, la session quitte la liste. Sa transcription reste sur votre machine via claude --resume, et la suppression survit aux redémarrages du superviseur.

Ce qui arrive à une worktree que Claude a créée pour la session :

  • La vue agent la supprime, y compris les modifications non validées, donc validez ce que vous voulez conserver d'abord.

  • claude rm la conserve, ainsi que la ligne de session, quand elle a des modifications non validées.

  • Ni la vue agent ni claude rm ne supprime une worktree qu'une autre session en cours d'exécution utilise ou a verrouillée, et supprimer à nouveau ne change pas cela. Claude Code conserve la worktree et la session, et nomme le répertoire conservé et la raison ; dans la vue agent, la ligne de la session affiche not deleted. Fermez l'autre session, puis supprimez à nouveau.

  • Quand vous supprimez une session dont la worktree a des commits que Claude Code ne peut pas confirmer sont enregistrés ailleurs, Claude Code conserve la worktree et la session, et le message nomme la branche de la worktree et combien de commits ne sont pas poussés. Le message offre également les deux façons d'avancer : pousser les commits, ou supprimer à nouveau pour les abandonner.

    Les commits sur un remote ne bloquent pas la suppression. Ni les commits sur la copie locale de la branche par défaut de votre remote origin, tant que cette branche est extraite dans votre checkout principal, le répertoire du référentiel lui-même plutôt qu'une worktree.

    Après ce refus, vous choisissez :

    • Pour conserver les commits, les pousser, ou les fusionner dans cette branche par défaut, puis supprimer la session à nouveau.
    • Pour les abandonner, supprimer la session à nouveau sans pousser : appuyez sur Ctrl+X deux fois sur sa ligne dans la vue agent, ou exécutez la commande claude rm <id> --discard-unpushed que le refus a affichée. Cela supprime la session et la worktree avec sa branche, abandonnant les commits non poussés et toutes les modifications non validées.

    Quand vous supprimez à nouveau, Claude Code abandonne uniquement ce que le refus a montré : si la worktree a gagné un commit depuis, Claude Code la conserve à nouveau et affiche l'état mis à jour.

    Quand les enregistrements d'une autre session terminée nomment également la worktree, elle reste quand vous supprimez à nouveau ; poussez les commits, puis supprimez à nouveau.

  • Une worktree que git ne reconnaît plus, par exemple après git worktree prune, ne bloque pas la suppression. Claude Code supprime la session et laisse le répertoire sur le disque.

  • Quand git ou votre hook WorktreeRemove échoue à supprimer la worktree, Claude Code conserve la worktree et la session, et le message nomme la cause. Pour un hook, le message dit comment il s'est terminé, comme exited 1, et cite le début de son stderr. Le message vous dit également lequel de ceux-ci faire ensuite :

    • Supprimer la session à nouveau pour supprimer le répertoire de toute façon, en appuyant sur Ctrl+X deux fois sur sa ligne dans la vue agent ou en exécutant la commande claude rm <id> --force-remove-worktree <worktree-id> que le refus de claude rm a affichée. Claude Code n'offre cela que quand il peut confirmer que le répertoire est l'une des worktrees liées du référentiel sous .claude/worktrees/ sans modifications non validées aux fichiers suivis, sans référentiel imbriqué à l'intérieur, et sans enregistrement d'une autre session le nommant. La branche de la worktree reste dans le référentiel.
    • Corriger ce qui se met en travers, comme valider ou remiser les modifications non validées, fermer ce qui utilise le répertoire, ou corriger le hook, puis supprimer la session à nouveau.
    • Supprimer le répertoire vous-même, puis supprimer la session à nouveau.

Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place de toute façon.

Une session dont le répertoire de worktree n'appartient à aucun référentiel git, parce que le référentiel a été supprimé ou un hook WorktreeCreate a créé le répertoire ailleurs, peut toujours être supprimée. Tandis que les fichiers restent dans le répertoire :

  • La vue agent demande le même double-appui Ctrl+X avant de les abandonner. Pour un répertoire créé par hook, il exécute votre hook WorktreeRemove à la place, et sans un, il refuse la suppression et conserve la session.
  • claude rm conserve la session et la worktree, et nomme la raison.

Chaque chemin conserve un répertoire que les enregistrements d'une autre session terminée nomment.

Définir le modèle

Le nom du modèle affiché dans l'en-tête de la vue agent est la valeur par défaut du lancement. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du paramètre model dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le sélecteur /model, ou modifiez le paramètre directement.

Pour remplacer la valeur par défaut du lancement pour l'ensemble de la session de la vue agent, passez --model lors de l'ouverture de la vue agent. Voir Mode de permission, modèle et effort.

Pour changer la valeur par défaut du lancement à partir de la vue agent, tapez /model suivi d'un nom de modèle dans l'entrée de lancement et appuyez sur Entrée. L'en-tête se met à jour pour afficher ce modèle avec un marqueur (session), et les sessions que vous lancez après utilisent ce modèle. Tapez /model default pour effacer le remplacement et revenir à la valeur par défaut du lancement. Ce remplacement dure pour le reste de l'exécution actuelle de claude agents et n'écrit pas dans votre fichier de paramètres. L'exemple suivant lance une session sur Opus et la suivante sur Sonnet :

/model opus
refactor auth
/model sonnet
run the test suite

Chaque session en arrière-plan peut s'exécuter sur un modèle différent. Pour le remplacer pour une session :

  • Depuis le shell, passez --model avec claude --bg.
  • Attachez-vous à une session en cours d'exécution et exécutez /model pour basculer : un choix du sélecteur, ou un /model <name> tapé, s'enregistre comme votre valeur par défaut pour les nouvelles sessions sauf si vous appuyez sur s dans le sélecteur pour un basculement réservé à la session. Un basculement réservé à la session persiste si la session est relancée.
  • Lancez un sous-agent dont le frontmatter définit un champ model.

Mode de permission, modèle et effort

Une session en arrière-plan prend ses paramètres, fournisseur, mode de permission, modèle et effort à partir de l'endroit et de la façon dont vous l'avez lancée. Les sous-sections ci-dessous couvrent chaque source, et ce qui persiste quand le superviseur redémarre la session.

Paramètres et fournisseur

Une session en arrière-plan lit ses paramètres à partir du répertoire dans lequel elle s'exécute, de la même manière que si vous aviez démarré claude là. Cela inclut les valeurs env dans les paramètres du projet, donc une variable ANTHROPIC_MODEL ou de fournisseur définie là s'applique à chaque session en arrière-plan dans ce répertoire.

Une session en arrière-plan s'exécute également avec le PATH du shell à partir duquel vous l'avez lancée, afin que les commandes qu'elle exécute trouvent les mêmes outils que votre terminal. Elle conserve également la sélection du fournisseur cloud de ce shell, comme CLAUDE_CODE_USE_BEDROCK ou CLAUDE_CODE_USE_VERTEX, ainsi que ses alias ANTHROPIC_DEFAULT_*_MODEL et tout remplacement CLAUDE_CODE_EXTRA_BODY que vous avez exporté là.

Passerelle LLM

Si vous routez Claude Code via une passerelle LLM, mettez les variables de passerelle dans un bloc env d'un fichier de paramètres plutôt que de les exporter dans votre shell, et les sessions en arrière-plan les lisent avec le reste de leurs paramètres. Définir dans un fichier de paramètres affiche le bloc et quel fichier de paramètres utiliser pour les identifiants.

Si vous exportez une passerelle ANTHROPIC_BASE_URL uniquement dans votre shell à la place, elle atteint une session en arrière-plan, avec ANTHROPIC_CUSTOM_HEADERS et les identifiants que vous avez exportés avec elle, uniquement quand le superviseur lui-même a été démarré à partir d'un shell qui a exporté la même passerelle, et uniquement dans ces cas :

  • Vous mettez votre propre session en arrière-plan avec ← ou /background
  • Vous lancez une session dans le répertoire dans lequel vous êtes
  • Vous réveillez une session arrêtée dans le répertoire dans lequel vous êtes en vous attachant ou en répondant à elle

Claude Code transfère une passerelle devant un fournisseur cloud. Si le shell à partir duquel vous lancez sélectionne le fournisseur et exporte son point de terminaison de passerelle avec son drapeau de contournement d'authentification, Claude Code transfère la paire point-de-terminaison-et-drapeau à la session dans les conditions qui s'appliquent à ANTHROPIC_BASE_URL, avec ANTHROPIC_CUSTOM_HEADERS. Par exemple, exportez CLAUDE_CODE_USE_VERTEX=1 avec ANTHROPIC_VERTEX_BASE_URL et CLAUDE_CODE_SKIP_VERTEX_AUTH=1, et Claude Code transfère ce point de terminaison et ce drapeau.

Claude Code applique une passerelle transférée au processus en cours d'exécution de cette session uniquement et ne l'écrit jamais sur le disque.

Mode de permission

Le mode de permission dépend de la façon dont vous avez démarré la session :

  • Mise en arrière-plan avec /bg ou ← : Claude Code conserve le mode de permission dans lequel la session était, donc une que vous avez basculée vers acceptEdits ou auto reste là après détachement
  • Lancée à partir d'une vue agent que vous avez ouverte avec ← : la configuration propre de la cible vient en premier, et le mode de permission de la session dont vous venez s'applique quand rien d'autre n'en définit un
  • Lancée à partir de claude agents démarrée dans un shell, ou avec claude --bg : la nouvelle session démarre de la façon qu'une nouvelle session claude dans ce répertoire le ferait, sauf si vous l'avez lancée à partir d'une vue agent que vous avez ouverte avec les valeurs par défaut du lancement. Quel mode de permission une session démarre liste l'ordre

Pour une session que vous lancez à partir d'une vue agent ouverte avec ←, Claude Code prend le mode de permission à partir du premier de ceux-ci qui s'applique :

  1. Le permissions.defaultMode du répertoire cible. Deux règles de source s'appliquent :
  2. Le mode de permission de la session dont vous venez

Quand Claude Code refuse le mode d'une source comme trop permissif, la source suivante dans la liste décide. Par exemple, si vous lancez à partir d'une session en mode plan dans un répertoire dont les paramètres vérifiés demandent acceptEdits, la nouvelle session démarre en mode plan. Si vous déplacez ce defaultMode vers ~/.claude/settings.json, il s'applique indépendamment du mode de permission de la session dont vous venez.

La permissivité va plan, puis Manual et dontAsk, puis acceptEdits et auto, qui comptent chacun comme plus permissif que l'autre, puis bypassPermissions.

Valeurs par défaut du lancement

Pour définir les valeurs par défaut pour chaque session que vous lancez à partir de la vue agent, passez l'un de --permission-mode, --model, --effort, ou --agent lors de son ouverture :

claude agents --permission-mode plan --model opus --effort high

--effort ici accepte les mêmes valeurs que le drapeau --effort de haut niveau, y compris ultracode.

--agent définit le sous-agent utilisé quand une invite de lancement ne nomme pas un, soit avec @name soit comme premier mot. Il prend par défaut le paramètre agent s'il en existe un, sinon l'agent intégré fourre-tout claude. Nommer un sous-agent dans l'entrée de lancement remplace les deux.

claude agents accepte également --dangerously-skip-permissions comme raccourci pour --permission-mode bypassPermissions, et --allow-dangerously-skip-permissions pour rendre bypassPermissions disponible dans le cycle Shift+Tab de chaque session lancée sans démarrer dans ce mode. Les deux correspondent aux drapeaux CLI de haut niveau.

Passez --restricted pour démarrer chaque session que vous lancez à partir de la vue en mode restreint, comme si chacune était lancée avec le drapeau de haut niveau --restricted. Nécessite Claude Code v2.1.248 ou ultérieur.

Les valeurs par défaut actives apparaissent dans le pied de page sous l'entrée de lancement.

Claude Code refuse claude --bg --permission-mode bypassPermissions jusqu'à ce que vous ayez accepté la clause de non-responsabilité du contournement en exécutant claude --dangerously-skip-permissions une fois de manière interactive, puisque ce mode permet à une session que vous ne regardez pas d'agir sans approbation. Passer --dangerously-skip-permissions ou --permission-mode bypassPermissions à claude agents affiche la même clause de non-responsabilité quand vous ne l'avez pas acceptée avant, et accepter applique bypassPermissions aux sessions que vous lancez à partir de la vue. Passer --allow-dangerously-skip-permissions affiche la même clause de non-responsabilité aussi, et accepter rend bypassPermissions disponible dans le cycle Shift+Tab de ces sessions sans les démarrer dedans.

Ce qui persiste lors des redémarrages

Le mode de permission, le modèle et l'effort que vous avez choisis pour une session en arrière-plan, ainsi que les drapeaux de configuration qu'elle porte, persistent tous quand le superviseur arrête et redémarre ultérieurement le processus de la session. Une session que vous avez lancée avec claude --bg --dangerously-skip-permissions ou claude --bg --permission-mode bypassPermissions reste dans bypassPermissions après ce redémarrage. Un modèle ou un effort que vous avez changé en milieu de session avec /model ou /effort est conservé aussi.

Si la session a pris son effort à partir de vos paramètres plutôt que de --effort ou /effort, Claude Code relit vos paramètres à nouveau chaque fois qu'il démarre un processus pour la session. Après avoir édité l'effort enregistré dans settings.json, le changement atteint les sessions que vous mettez en arrière-plan avec ← ou /bg, et leurs redémarrages ultérieurs. L'effort enregistré est la clé effortLevel ou une entrée modelSettings.

Claude Code conserve également un nom que vous avez défini avec /rename ou Ctrl+R lors de ce redémarrage, donc vous pouvez toujours exécuter claude --resume <name> pour atteindre la session.

Une invite que vous avez remisée avec Ctrl+S tandis que vous étiez attaché est conservée avec la session aussi. Rouvrez la session après son processus a été arrêté ou redémarré, et Ctrl+S restaure le texte remisé. Le contenu collé dans la remise ne survit pas au redémarrage.

Paramètres, plugins et serveurs MCP

La vue agent accepte les mêmes drapeaux de configuration que claude pour charger les paramètres, les plugins, les serveurs MCP et les répertoires supplémentaires. La vue agent applique --settings et --plugin-dir à elle-même et transmet chaque drapeau de configuration aux sessions que vous lancez à partir de celle-ci, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions.

Drapeau Effet
--settings <file-or-json> Remplacer les paramètres pour la vue agent et les sessions lancées
--add-dir <path> Accorder l'accès aux fichiers à un répertoire supplémentaire
--plugin-dir <path> Charger un plugin à partir d'un répertoire local
--mcp-config <file-or-json> Charger les serveurs MCP à partir d'un fichier de configuration ou d'une chaîne JSON
--strict-mcp-config Utiliser uniquement les serveurs MCP de --mcp-config, en ignorant les autres configurations MCP. Voir Contrôle exclusif avec managed-mcp.json pour ce que le drapeau fait sous un fichier MCP géré

Répétez --add-dir, --plugin-dir, ou --mcp-config une fois par valeur. claude agents ne supporte pas la forme séparée par des espaces, comme --add-dir a b c.

Vous pouvez placer --settings et --plugin-dir avant ou après agents. Gardez --add-dir et --mcp-config après agents : si vous placez l'un ou l'autre avant agents, claude agents --json échoue avec une erreur unknown option.

L'exemple suivant ouvre la vue agent avec un remplacement de paramètres et un répertoire supplémentaire :

claude agents --settings ./ci-settings.json --add-dir ../shared-lib

--settings accepte un chemin de fichier ou une chaîne JSON en ligne. Un chemin de fichier doit pointer vers un fichier existant ; Claude Code se termine avec une erreur Settings file not found s'il ne le fait pas.

Gérer les sessions depuis le shell

Chaque session en arrière-plan a un ID court que vous pouvez utiliser depuis le shell. L'ID est affiché quand vous démarrez une session avec claude --bg, et l'ID de chaque session est son nom de répertoire sous ~/.claude/jobs/. Ces commandes sont utiles pour les scripts ou quand vous ne voulez pas ouvrir la vue agent.

Commande Objectif
claude agents Ouvrir la vue agent
claude agents --cwd <path> Ouvrir la vue agent limitée aux sessions démarrées sous <path>
claude agents --json Afficher les sessions en tant que tableau JSON et quitter. Voir Afficher les sessions en tant que JSON
claude attach <id> S'attacher à une session dans ce terminal
claude logs <id> Afficher la sortie récente de la session
claude stop <id> Arrêter une session. Accepte aussi claude kill
claude respawn <id> Redémarrer une session, en cours d'exécution ou arrêtée, par exemple pour utiliser un binaire Claude Code mis à jour. La session redémarrée reprend sa conversation enregistrée ; quand aucune n'est sur le disque, elle exécute à nouveau son prompt original en tant que nouvelle conversation
claude respawn --all Redémarrer chaque session en cours d'exécution, par exemple pour déplacer toutes les sessions vers un binaire Claude Code mis à jour en une seule fois
claude rm <id> Supprimer une session de la liste, ainsi qu'une worktree que Claude a créée pour elle quand il est sûr de la supprimer ; voir Ce que la suppression d'une session supprime. La transcription de la conversation reste sur votre machine locale et reste disponible via claude --resume
claude rm <id> --discard-unpushed <commit>@<worktree-id> Supprimer une session dont la suppression a été refusée en raison de commits non poussés, en supprimant la worktree ainsi que sa branche et ses commits. Passez la valeur exacte que le refus a affichée ; voir Ce que la suppression d'une session supprime. Nécessite v2.1.260 ou ultérieur
claude rm <id> --force-remove-worktree <worktree-id> Supprimer une session dont la suppression a été refusée parce que git ou le hook WorktreeRemove n'a pas pu supprimer sa worktree, en supprimant le répertoire worktree de toute façon et en laissant sa branche dans le référentiel. Passez la valeur exacte que le refus a affichée ; voir Ce que la suppression d'une session supprime. Nécessite v2.1.268 ou ultérieur
claude daemon status Afficher l'état du superviseur, la version, le répertoire socket et le nombre de workers
claude daemon stop --any Arrêter le processus superviseur et les sessions en arrière-plan qu'il héberge. Passez --keep-workers pour laisser les sessions en arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. Le prochain claude agents ou claude --bg démarre un nouveau superviseur

Afficher les sessions en tant que JSON

claude agents --json affiche les sessions actives en tant que tableau JSON et quitte : chaque session active, plus les sessions en arrière-plan qui travaillent encore ou sont bloquées même quand leur processus a quitté. Ajoutez --all pour inclure aussi les sessions en arrière-plan terminées, et --cwd <path> pour limiter la liste aux sessions démarrées sous ce répertoire.

Chaque entrée décrit une session :

Champ Présent Description
cwd, kind, startedAt Toujours Le répertoire de travail, interactive ou background, et l'heure de démarrage en millisecondes Unix
id Sessions en arrière-plan ID court, utilisable avec claude attach, claude logs, et claude stop
state Sessions en arrière-plan L'une de working, blocked, done, failed, ou stopped. Voir Lire l'état de la session à partir d'un script pour savoir ce que chaque valeur signifie
pid, status Tant que le processus est actif ID du processus et l'une de busy, waiting, ou idle
waitingFor Quand status est waiting Sur quoi la session est bloquée : permission prompt pour une approbation, input needed pour une question de Claude ou une demande d'entrée d'un serveur MCP, sandbox request, worker request, ou dialog open
sessionId, name Quand défini sessionId est l'UUID de session complet, utilisable avec claude --resume. Le name d'une session interactive est son nom d'affichage par défaut jusqu'à ce que vous nommez la session ou acceptiez un plan en elle

Lire l'état de la session à partir d'un script

claude agents --json est la façon prise en charge de lire l'état de la session de l'extérieur de Claude Code, par exemple à partir d'une barre d'état, d'un planificateur, ou d'une autre session Claude qui supervise le travail en arrière-plan. Interrogez claude agents --json --all, qui continue à lister les sessions dont le processus a quitté, et lisez le state, status, et waitingFor de chaque entrée.

state Ce que cela signifie
working Un tour est en cours d'exécution, ou la session est entre les étapes du travail qu'elle conduit elle-même, comme une itération /loop ou une attente sur CI. status vous indique si son processus est busy en ce moment
blocked La session vous attend : une question qu'elle a posée, une permission ou une décision de sandbox, une erreur que seul vous pouvez effacer comme une connexion expirée, ou son premier prompt si vous l'avez démarrée sans. Quand l'attente est un prompt ouvert dans un processus actif, waitingFor le nomme
done Le dernier tour a terminé ce que vous avez demandé et la session est prête pour votre prochain prompt, que son processus soit encore actif ou non
failed, stopped La tâche s'est terminée avec une erreur, ou la session a été arrêtée

Une session qui a terminé son tour et attend votre prochaine instruction lit done, pas blocked. blocked signifie toujours que la session a besoin de quelque chose de votre part avant de pouvoir continuer.

Les fichiers sous ~/.claude/jobs/<id>/ ne sont pas une interface stable. Les valeurs qu'une session ou un autre programme écrit dans state, detail, tempo, ou needs sont remplacées à la prochaine mise à jour.

Si vous voulez qu'une session rapporte la progression dans ses propres termes, faites-la écrire un fichier qui lui est propre, par exemple sous $CLAUDE_JOB_DIR/tmp, au lieu de modifier state.json.

Comment les sessions en arrière-plan sont hébergées

Claude Code traite chaque session listée dans la vue agent comme une session en arrière-plan, que vous y soyez actuellement attaché ou non. En contraste, une session démarrée en exécutant claude directement est liée à ce terminal et se termine quand il se ferme, sauf si vous l'envoyez en arrière-plan.

Pour vérifier quel type de session vous utilisez, exécutez /status. La ligne Session kind affiche background job · attached ou background job · unattended dans une session en arrière-plan, selon qu'un terminal est attaché, et interactive dans toute autre session.

Le processus superviseur

Le superviseur est un service en arrière-plan qui exécute vos sessions en arrière-plan pour qu'elles continuent de fonctionner après que vous fermiez la vue agent ou votre terminal. Claude Code le démarre la première fois que vous mettez une session en arrière-plan ou ouvrez la vue agent, et vous n'avez pas besoin de le gérer vous-même.

Chaque session est son propre processus Claude Code sous le superviseur, et ce qui arrive à ce processus dépend de l'état de la session :

  • En cours d'exécution, en pause sur une invite de permission ou un autre dialogue, ou attaché : le processus continue de s'exécuter. Un sous-agent, un workflow ou un monitor en cours d'exécution compte comme en cours d'exécution.
  • Terminé ou en attente de votre prochain message, et non attaché pendant environ une heure : le superviseur arrête le processus pour libérer des ressources. Une session qui a terminé son tour en vous posant une question compte comme en attente de votre prochain message. La conversation reste sur le disque, et la prochaine fois que vous vous attachez ou répondez, la session reprend là où elle s'était arrêtée. Épinglez une session avec Ctrl+T pour garder son processus en cours d'exécution.
  • Arrêté de manière inattendue tandis que le superviseur est en cours d'exécution : le superviseur redémarre le processus. Terminer une session que vous avez mise en arrière-plan vous-même avec ← ou /background, par exemple avec kill, la marque comme arrêtée au lieu de la redémarrer. Pour les sessions qui se sont terminées avec un arrêt, voir Les sessions s'affichent comme échouées ou arrêtées après l'arrêt.
  • Après une mise à jour automatique : le superviseur redémarre lui-même sur la nouvelle version et déplace les sessions inactives en arrière-plan. Les sessions qui fonctionnent, qui attendent votre entrée, ou qui sont attachées ne sont pas interrompues.

Quand le processus d'une session s'arrête ou redémarre, les commandes shell en arrière-plan, les workflows dynamiques et les sous-agents en arrière-plan que Claude a démarrés dedans se reportent à son processus suivant ; les monitors en cours d'exécution et les commandes shell qu'un sous-agent a démarrées s'arrêtent avec le processus. Supprimer la session arrête tout ce qu'elle a reporté. Pour arrêter tout cela avec le processus à la place, définissez CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF à 1.

Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives. Pour savoir quels paramètres et variables shell atteignent une session, y compris PATH, voir Paramètres et fournisseur. Pour les points de terminaison de passerelle, voir Passerelle LLM.

Où l'état est stocké

L'état de la session est stocké sous votre répertoire de configuration Claude Code. Si vous définissez CLAUDE_CONFIG_DIR, le superviseur utilise ce répertoire à la place de ~/.claude et s'exécute comme une instance séparée avec ses propres sessions.

Chemin Contenu
~/.claude/daemon.log Journal du superviseur
~/.claude/daemon/roster.json Liste des sessions en arrière-plan en cours d'exécution, utilisée pour se reconnecter après un redémarrage
~/.claude/jobs/<id>/state.json État par session affiché dans la vue agent. Lisez-le via claude agents --json au lieu d'analyser le fichier
~/.claude/jobs/<id>/tmp/ Répertoire de travail par session. Les appels Write et Edit de Claude ici ne demandent pas de permission. Supprimé quand la session est supprimée

Chaque session en arrière-plan a la variable d'environnement CLAUDE_JOB_DIR définie à son répertoire ~/.claude/jobs/<id>, donc les commandes shell que la session exécute peuvent écrire des fichiers temporaires à $CLAUDE_JOB_DIR/tmp sans entrer en collision avec les sessions parallèles.

Pour inspecter cet état sans lire les fichiers directement, exécutez claude daemon status. Il rapporte si le superviseur est accessible, son ID de processus et sa version, le répertoire socket, et combien de sessions en arrière-plan sont actives.

La commande avertit également quand le superviseur en cours d'exécution est sur une version différente de celle du claude que vous avez invoqué, ce qui se produit après une mise à jour que le superviseur n'a pas encore redémarrée. L'avertissement affiche les deux versions et vous dit d'exécuter claude daemon stop --any pour récupérer la nouvelle version. Quand Claude Code est installé en tant que service du système d'exploitation, la commande suggérée est claude daemon stop sans le drapeau.

Les sessions survivent à ce décalage de version intact : une version plus ancienne de Claude Code qui met à jour le state.json d'une session préserve les champs qu'elle ne reconnaît pas et garde la session listée. La liste des sessions dans roster.json suit la même règle, donc les sessions démarrées par la version plus récente restent accessibles et continuent d'accepter l'entrée après le redémarrage du superviseur.

Désactiver la vue agent

Pour désactiver complètement les agents en arrière-plan et la vue agent, définissez le paramètre disableAgentView setting à true ou définissez la variable d'environnement CLAUDE_CODE_DISABLE_AGENT_VIEW. Les administrateurs peuvent appliquer cela via les paramètres gérés.

Dépannage

`claude agents` affiche les sous-agents au lieu d'ouvrir la vue agent

Si claude agents affiche un nombre suivi de vos sous-agents configurés puis se ferme, la vue agent n'est pas disponible dans votre environnement. Exécutez claude update pour installer la dernière version.

Si la vue agent ne s'ouvre toujours pas après la mise à jour, vérifiez si elle a été désactivée par un paramètre ou une variable d'environnement.

La vue agent s'ouvre sans sessions

Avant de dispatcher votre première session, la vue agent affiche les en-têtes de section vides avec une description sous chacun, plus une explication d'une ligne au-dessus de l'entrée, à la place de la liste des sessions. Tapez une invite dans l'entrée en bas et appuyez sur Entrée pour dispatcher votre première session.

Le backgrounding affiche une boîte de dialogue `Background this session?`

Si vous appuyez sur ← pour mettre en arrière-plan la session actuelle et que Claude Code affiche une boîte de dialogue Background this session?, la session a du travail en cours que la mise en arrière-plan arrêterait, redémarrerait ou laisserait s'exécuter sans surveillance, et Claude Code demande avant de faire l'une de ces actions :

  • Travail qui ne peut pas être déplacé : la session a du travail qui ne peut pas être déplacé vers la session en arrière-plan, comme un monitor en cours d'exécution. La boîte de dialogue nomme le travail que Claude Code arrêterait et, séparément, compte les tâches qui sont transférées.
  • Un workflow avec des sous-agents en cours d'exécution : un dynamic workflow a toujours des sous-agents en cours d'exécution. Le workflow lui-même est transféré, mais ses sous-agents en cours d'exécution redémarrent depuis le début, et la boîte de dialogue indique combien.
  • Réponses automatiques aux artefacts : Claude répond aux commentaires sur un artefact de sa propre initiative. Ces réponses continuent dans la session en arrière-plan, et la boîte de dialogue le dit.

Exécutez /tasks pour voir tout ce qui s'exécute, puis confirmez pour mettre en arrière-plan de toute façon ou choisissez Stay pour laisser le travail se terminer d'abord. Consultez What carries over when you background pour savoir quels types de travail sont transférés et lesquels Claude Code arrête.

Invite rejetée comme trop courte

L'entrée de dispatch s'attend à une description de tâche, pas à un ouvreur conversationnel. Une invite plus courte que quatre caractères est rejetée avec un indice Too short pour qu'une frappe accidentelle ne démarre pas une session. Décrivez ce que vous voulez que la session fasse, par exemple investigate the flaky checkout test.

Les sessions s'affichent comme échouées ou arrêtées après l'arrêt

L'arrêt ou le redémarrage de votre machine arrête les sessions en arrière-plan en cours d'exécution. Une session qui attendait votre entrée reste sous Needs input quand vous revenez. Pour toute autre session en cours d'exécution, ce que la vue agent affiche dépend de la durée depuis laquelle elle a fait des progrès :

  • Dans les 48 heures, la session s'affiche comme échouée. Attachez-la ou répondez-lui et elle redémarre d'où elle s'était arrêtée.
  • Après 48 heures, par exemple après que la machine ait été éteinte pendant des jours, la session s'affiche comme arrêtée avec ended while the background service was off. Appuyez sur Entrée sur la ligne et le pied de page affiche Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it. Appuyez sur Entrée sur la même ligne à nouveau pour reprendre sa conversation enregistrée. Une réponse ou claude attach <id> la reprend sans cette invite de pied de page.

Quand le transcript cleanup a supprimé la conversation enregistrée d'une session arrêtée, Claude Code refuse d'ouvrir la ligne : le message dit qu'il n'y a rien à reprendre. claude rm <id> supprime la ligne, sauf dans les cas conservés décrits ci-dessus, et claude respawn <id> exécute à nouveau son invite d'origine. Consultez This session's saved conversation is no longer on disk.

Le sommeil seul n'arrête pas les sessions. Les sessions sont préservées lors du sommeil et le superviseur se reconnecte à elles au réveil.

L'ouverture d'une session indique que la conversation est déjà ouverte

Deux processus ne peuvent pas écrire dans la même transcription. Quand la conversation enregistrée d'une session arrêtée est déjà ouverte dans un autre processus Claude Code actif, Claude Code refuse de démarrer le propre processus de la session. Ce que vous voyez dépend de ce qui détient la conversation :

  • Un terminal où vous avez repris la conversation, par exemple avec claude --resume ou /resume : la ligne affiche Open in a terminal avec un indice pour la continuer là, et l'ouverture de la ligne affiche Can't open — this session is running in another terminal. Continuez dans ce terminal, ou quittez-le et ouvrez la ligne à nouveau.
  • Un autre processus Claude Code non interactif, par exemple un processus de session en arrière-plan pour la même conversation qui n'a pas encore quitté : l'ouverture de la ligne affiche This conversation is already open in another running Claude session. Utilisez ce processus, ou attendez qu'il se termine et ouvrez la ligne à nouveau.

Claude Code enregistre une réponse que vous avez tapée avec la tentative refusée et l'envoie la prochaine fois que la session démarre.

L'ouverture d'une session indique qu'elle n'a pas de transcription enregistrée

Une session arrêtée qui a été backgrounded from another conversation et s'est arrêtée avant la fin de sa première réponse n'a rien à reprendre : jusqu'à ce que cette première réponse se termine, la conversation vit toujours uniquement dans la session à partir de laquelle elle a été mise en arrière-plan. claude attach refuse de l'ouvrir avec This session has no saved transcript.

Dans la vue agent, l'ouverture de cette ligne affiche Press enter again to restart this session fresh sous la liste. Appuyez sur Entrée sur la même ligne à nouveau pour redémarrer la session avec une conversation vide, ou exécutez claude respawn <id> depuis le shell.

La conversation d'origine est intacte ; reprenez-la avec claude --resume ou continuez à y travailler. Consultez la référence des erreurs pour plus de détails.

L'hôte du terminal est mort ou la session a cessé de répondre

Le supervisor exécute le terminal de chaque session en arrière-plan dans son propre processus hôte. Quand ce processus meurt ou cesse de répondre, Claude Code affiche la raison et propose un redémarrage ; dans les deux cas, la conversation est enregistrée et le redémarrage la reprend. La référence des erreurs cite les messages complets.

Claude Code ne redémarre jamais une ligne exécutant une shell command, depuis Entrée ou depuis claude attach, car cela exécuterait la commande à nouveau ; le message de la ligne et claude attach disent tous deux que la commande n'est pas exécutée à nouveau.

L'hôte du terminal est mort

Sur Linux et WSL, le superviseur vérifie chaque processus hôte toutes les quelques secondes, que vous ouvriez la session ou non, et marque la session comme échouée quand le processus a quitté mais sa connexion au superviseur ne s'est jamais fermée.

  • Dans la vue agent, la ligne affiche terminal host process died — press Enter to restart. Appuyez sur Entrée dessus et Claude Code redémarre la session sur un processus hôte frais.
  • Depuis le shell, claude attach <id> redémarre une session déjà marquée comme échouée. Sinon, il rapporte la cause et se termine, vous disant d'exécuter claude attach <id> à nouveau.

La session ne répond pas

Quand le superviseur accepte une ouverture mais qu'aucune sortie n'arrive pendant environ dix secondes, Claude Code termine la tentative et propose un redémarrage. Une session qui s'est simplement figée, par exemple lors du sommeil de la machine, n'atteint pas cette offre : le superviseur la redémarre à l'ouverture lui-même.

  • Dans la vue agent, le pied de page affiche Press enter again to restart this session — it isn't responding (its conversation is saved and resumes). Appuyez sur Entrée sur la même ligne à nouveau et Claude Code arrête le processus qui ne répond pas et redémarre la session ; il n'arrête rien sans ce deuxième appui.
  • Depuis le shell, claude attach <id> rapporte la cause et se termine, vous disant d'exécuter claude stop <id>, puis claude attach <id>.

Une session échoue avant de démarrer avec une note `possibly low memory`

Quand le processus d'une session en arrière-plan se termine avant de finir de démarrer et que l'hôte manque de mémoire, le statut de la ligne nomme la sortie et ajoute possibly low memory — free some up and retry.

La note est une hypothèse, pas une cause confirmée. Claude Code l'ajoute uniquement quand le processus s'est terminé silencieusement, sans écrire une erreur et sans être arrêté par un signal, et que l'hôte a signalé une mémoire faible à ce moment. Quand le processus a écrit une erreur avant de se terminer, la ligne affiche cette erreur à la place.

Libérez de la mémoire sur la machine, puis attachez-vous ou répondez à la ligne et le superviseur démarre un processus frais pour la session. Quand la mémoire reste faible, le superviseur arrête également les sessions inactives pour libérer des ressources de sa propre initiative, et arrête également les sessions épinglées inactives si l'arrêt des autres n'a rien libéré.

La vue agent indique que le service en arrière-plan n'a pas répondu

Si l'attachement, l'aperçu ou claude logs rapporte que le service en arrière-plan n'a pas répondu, le processus superviseur s'est probablement figé. Arrêtez-le et laissez le prochain claude agents en démarrer un frais. Pour garder vos sessions en arrière-plan en cours d'exécution lors du redémarrage, passez --keep-workers :

claude daemon stop --any --keep-workers

Le nouveau superviseur se reconnecte aux sessions en cours d'exécution. Sans --keep-workers, la commande termine également les sessions en arrière-plan. Le drapeau --any confirme que vous voulez arrêter un superviseur qui a démarré à la demande plutôt que comme service installé, ce qui est la valeur par défaut.

Un superviseur qui démarre mais ne peut pas accepter les connexions se termine et libère son verrou de sa propre initiative, donc le prochain claude agents en démarre un frais sans cet arrêt manuel. Les étapes ci-dessus s'appliquent quand un superviseur en cours d'exécution se fige.

Si la commande se termine plutôt en disant que le processus enregistré n'a pas pu être vérifié comme superviseur, vérifiez l'ID de processus rapporté : s'il s'agit d'un superviseur que vous possédez, arrêtez-le vous-même, puis supprimez ~/.claude/daemon.lock pour que le prochain claude agents démarre frais.

Sur Windows, si le superviseur ne répond pas à la demande d'arrêt, la commande affiche son ID de processus. Terminez ce processus avec taskkill /PID <pid> pour terminer la récupération. Les sessions en arrière-plan sont toujours préservées quand vous avez passé --keep-workers.

Le dispatch échoue avec `Could not resolve authentication method`

Si un dispatch en arrière-plan échoue avec Could not resolve authentication method tandis que les sessions interactives s'authentifient normalement, le worker qui a reçu le dispatch n'a pas récupéré les identifiants. Les sessions en arrière-plan obtiennent leurs identifiants du supervisor, donc cette erreur signifie qu'aucun identifiant stocké n'était disponible pour le processus superviseur lui-même. Confirmez que vous avez exécuté /login ou configuré une clé API, puis arrêtez le superviseur :

claude daemon stop --any --keep-workers

Le prochain claude agents ou claude --bg démarre un superviseur frais qui lit vos identifiants stockés. Si vous vous authentifiez avec une variable d'environnement telle que ANTHROPIC_API_KEY plutôt que /login, exécutez cette commande suivante depuis un shell où la variable est définie.

Consultez la référence des erreurs pour la liste complète des causes et des correctifs.

Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS

Sur macOS, l'hôte de la session en arrière-plan s'exécute en tant que processus distinct et demande l'accès aux dossiers protégés séparément de votre terminal. Si une session en arrière-plan rapporte Operation not permitted lors de la lecture de ~/Desktop, ~/Documents, ~/Downloads ou d'un autre emplacement protégé, accordez l'accès dans Paramètres système sous Confidentialité et sécurité > Fichiers et dossiers, ou activez Accès complet au disque pour l'entrée.

Avec le programme d'installation natif, l'entrée apparaît comme Claude Code et l'octroi persiste lors des mises à jour. Avec d'autres méthodes d'installation telles que Homebrew ou npm, l'entrée affiche le chemin du binaire et peut avoir besoin d'être accordée à nouveau après la mise à jour.

Les sessions en arrière-plan ne peuvent pas atteindre les hôtes du réseau local sur macOS

Sur macOS 15 et versions ultérieures, le système bloque un processus d'atteindre les appareils sur votre réseau local jusqu'à ce que vous accordiez la permission Réseau local, donc une commande ciblant une adresse LAN peut échouer avec connect: no route to host dans une session en arrière-plan même si elle fonctionne dans un terminal de premier plan. La première commande dans une session en arrière-plan qui se connecte à une adresse de réseau local déclenche l'invite de permission Réseau local macOS pour Claude Code. Accordez-la une fois et ces commandes atteignent les hôtes LAN de la même manière qu'ils le font dans un terminal de premier plan.

Une session est lente à répondre après l'attachement

Quand une session qui a terminé ou attend votre message suivant reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. L'attachement démarre un processus frais d'où il s'était arrêté et bascule vers la session immédiatement tandis que le processus redémarre. Les sessions qui travaillent, en pause sur une invite de permission ou un autre dialogue, ou épinglées ne sont pas arrêtées de cette façon, donc épinglez une session avec Ctrl+T pour la garder réactive.

Tandis que le processus démarre, Claude Code affiche la queue de la transcription de la session formatée de la manière dont la session active la rend, avec markdown, blocs de code en surbrillance et appels d'outils en tant que lignes estompées, au-dessus d'une zone d'invite estompée avec une note Session is starting. La session active la remplace dès qu'elle est prête.

`.claude/worktrees/` se remplit

Supprimer une session dans la vue agent supprime le worktree que Claude a créé pour elle, mais certaines suppressions conservent le worktree ou laissent son répertoire sur le disque, donc les répertoires restants peuvent s'accumuler. Les répertoires que git ne reconnaît plus n'apparaissent pas dans git worktree list, donc supprimez-les à la main.

Listez les entrées restantes avec git worktree list dans le répertoire du projet et supprimez chacune avec git worktree remove <path>. Consultez Clean up worktrees.

Limitations

La vue agent est en aperçu de recherche avec les limitations suivantes :

  • Les limites de débit s'appliquent : les sessions en arrière-plan consomment votre utilisation d'abonnement de la même manière que les sessions interactives, donc exécuter dix agents en parallèle utilise le quota environ dix fois plus vite qu'en exécuter un seul.
  • Les sessions sont locales : les sessions en arrière-plan s'exécutent sur votre machine. Elles sont préservées lors de la mise en veille mais s'arrêtent si la machine s'éteint.
  • Les worktrees créées par Claude sont supprimées avec la session en vue agent : validez les modifications avant de supprimer une session qui a modifié des fichiers dans sa propre worktree. Certaines suppressions conservent la worktree à la place.

Pour d'autres façons d'exécuter Claude en parallèle, et pour transmettre les résultats entre les sessions que vous exécutez, consultez :

  • Exécuter les agents en parallèle : comparez la vue agent avec les sous-agents, les équipes d'agents, et les worktrees
  • Messagerie entre sessions : faites en sorte que vos sessions se transmettent mutuellement les résultats
  • Équipes d'agents : coordonnez plusieurs sessions qui se messagent mutuellement
  • Claude Code sur le web : exécutez les sessions dans un environnement cloud géré au lieu de localement
  • Projects : faites en sorte que Claude coordonne les sessions cloud parallèles à partir d'une conversation et vous indique lesquelles vous sont nécessaires

Historique des versions

La vue agent a évolué rapidement pendant l'aperçu de recherche. Si vous êtes sur une version plus ancienne de Claude Code, certains comportements sur cette page peuvent différer ; en particulier, claude agents rejette les drapeaux qu'il ne supporte pas encore avec une erreur unknown option. Le tableau ci-dessous répertorie quand chaque drapeau et comportement a été ajouté.

Version Changement
v2.1.268 Quand une suppression est refusée parce que git ou votre hook WorktreeRemove n'a pas pu supprimer le worktree, le message nomme la cause, y compris comment le hook s'est terminé et le début de son stderr. Pour un worktree lié sous le répertoire .claude/worktrees/ du référentiel sans modifications non validées sur les fichiers suivis, sans référentiel imbriqué à l'intérieur, et sans enregistrement d'une autre session le nommant, supprimer la session à nouveau supprime le répertoire de toute façon, à partir de la vue agent ou avec claude rm <id> --force-remove-worktree <worktree-id>. Avant cette version, la ligne affichait seulement worktree could not be removed (WorktreeRemove hook failed) ou l'erreur de git, le stderr du hook n'allait que dans le journal de débogage, et supprimer à nouveau était refusé de la même manière.
v2.1.268 Après que le premier ← affiche Press ← again to open agents, ou Press ← again to go back to agents dans une session attachée, la première pression qui arrive au moins une seconde plus tard bascule, même quand les pressions plus rapides entre les deux ont été ignorées. Avant cette version, chaque pression ignorée redémarrait l'attente, donc appuyer sur ← à nouveau à un rythme régulier ne basculait pas jusqu'à ce que vous fassiez une pause de plus d'une seconde.
v2.1.260 Quand vous mettez une session en arrière-plan, le listing agent de vos autres sessions affiche la conversation une fois, comme sa session en arrière-plan, et leurs messages vers elle n'atteignent plus le terminal d'où vous l'avez déplacée. Avant cette version, ce terminal pouvait rester listé comme une deuxième session interactive sous le nom de la conversation, et une session qui avait envoyé un message à la conversation avant le déplacement continuait à livrer à ce terminal.
v2.1.260 Quand une suppression est refusée sur des commits non poussés, le message nomme la branche du worktree et combien de commits ne sont pas poussés, et supprimer la session à nouveau abandonne le worktree et ses commits. Avant cette version, le refus disait seulement worktree has commits that are not pushed anywhere, supprimer à nouveau était refusé de la même manière, et supprimer la session nécessitait de pousser les commits ou de supprimer le worktree à la main.
v2.1.257 ← se détache d'une session attachée tandis que l'overlay /btw est ouvert, même en pleine réponse, et l'overlay se rouvre quand vous vous attachez à nouveau. Avant cette version, ← ne se détachait pas tandis que l'overlay était ouvert.
v2.1.257 Quand vous exécutez claude --resume <session-id> --bg, Claude Code continue cette session sous son propre ID, ou démarre une copie sous un nouvel ID et affiche une ligne note: expliquant pourquoi. --continue, un --resume nu, et --resume avec un nom ou un chemin démarrent une copie avec la même note. Avant cette version, --resume avec --bg démarrait toujours une copie sous un nouvel ID et ne disait rien.
v2.1.257 Quand vous dispatchez une session à partir d'une vue agent que vous avez ouverte avec ←, Claude Code la démarre dans le mode de permission que le répertoire cible configure via permissions.defaultMode. Quand le répertoire n'en définit pas un, le mode de permission de la session d'où vous venez s'applique. Avant cette version, la session dispatchée démarrait toujours dans le mode de permission de la session d'où vous venez, le remplaçant.
v2.1.257 Ctrl+S, Ctrl+T, et Ctrl+G dans la vue agent suivent votre keybindings.json : Ctrl+S et Ctrl+T via les actions agents:switchView et agents:togglePin du contexte Agents, et Ctrl+G via la liaison chat:externalEditor du contexte Chat. Avant cette version, la vue agent ignorait keybindings.json et ces touches étaient fixes.
v2.1.257 Démarrer le service en arrière-plan se rétablit de deux causes d'échec. Sur une installation npm macOS, un démarrage pendant une auto-mise à jour attend l'installation au lieu d'exécuter l'espace réservé que npm pose en bas tandis qu'il remplace le binaire. Sur Windows, un daemon.lock obsolète écrit avant le dernier démarrage de la machine, ou dont l'ID de processus enregistré appartient maintenant à un processus différent, est remplacé. Avant cette version, le démarrage macOS échouait avec Error: claude native binary not installed. pendant la fenêtre d'installation, et le verrou Windows faisait échouer chaque démarrage avec exited before it became reachable jusqu'à ce que vous supprimiez ~/.claude/daemon.lock.
v2.1.257 Quand vous ouvrez ou dispatchez une session en arrière-plan tandis qu'un autre processus Claude Code télécharge une mise à jour npm, Claude Code continue d'attendre jusqu'à deux minutes tandis que l'installation s'exécute, puis échoue en disant Claude Code is being updated by npm on this machine. Avant cette version, l'attente s'arrêtait à dix secondes, donc l'ouverture échouait avec Couldn't start the background service tandis que le téléchargement était encore en cours.
v2.1.257 Une session en arrière-plan tenant un message entre sessions pour votre approbation affiche approve message from sur sa ligne Needs input, avec l'adresse de l'expéditeur et le nom que l'expéditeur prétend. Avant cette version, la ligne se déplaçait vers Needs input mais gardait son texte précédent, donc rien dans claude agents ne nommait le message en attente ou son expéditeur.
v2.1.257 Une invite stockée avec Ctrl+S à l'intérieur d'une session en arrière-plan ouverte est conservée avec la session, donc Ctrl+S la restaure après l'arrêt et le redémarrage du processus de la session. Avant cette version, le stockage vivait seulement dans le processus en cours d'exécution et était perdu quand la session restait inactive assez longtemps pour que son processus s'arrête, ou quand il était arrêté puis rouvert.
v2.1.251 Dans une session en arrière-plan qui n'a pas déménagé dans un worktree, Claude et les sous-agents qu'il génère peuvent modifier les fichiers à l'intérieur d'un worktree git lié.
v2.1.251 Claude Code transfère une passerelle de fournisseur cloud exportée dans le shell d'où vous dispatchez, comme ANTHROPIC_VERTEX_BASE_URL ou ANTHROPIC_BEDROCK_BASE_URL avec son drapeau de contournement d'authentification, vers le worker de la session dans les mêmes conditions que ANTHROPIC_BASE_URL. Avant cette version, si vous mettiez en arrière-plan ou dispatchiez à partir d'un shell authentifié uniquement via une telle passerelle, chaque requête que la session faisait échouait, parce que le point de terminaison et le drapeau étaient supprimés de son environnement.
v2.1.251 Quand une session en arrière-plan démarre tandis qu'un autre processus Claude Code actualise une place de marché de plugins, comme une session sœur exécutant la mise à jour automatique de la place de marché, Claude Code garde les plugins de cette place de marché disponibles. Avant cette version, une telle session pouvait démarrer sans aucune des compétences, agents, hooks et serveurs MCP de cette place de marché et rester ainsi pendant toute son exécution.
v2.1.248 Shift+Enter dans l'entrée de dispatch insère une nouvelle ligne, correspondant à l'invite principale, et Ctrl+Enter dispatch et attache immédiatement dans les terminaux où l'overlay ? répertorie ctrl+enter to start and open. Avant cette version, Shift+Enter dispatchait et attachait.
v2.1.248 Supprimer une session réussit quand les commits du worktree sont déjà sur la copie locale de la branche par défaut de votre remote origin et votre checkout principal a cette branche extraite ; avant cette version, la suppression était refusée avec has commits that are not pushed anywhere.
v2.1.248 Une session mise en arrière-plan avec ← ou /background tient le git worktree lock sur son worktree tandis qu'elle s'exécute ; avant cette version, mettre en arrière-plan libérait le verrou, et le nettoyage ou git worktree remove pouvait supprimer le worktree sous la session en cours d'exécution.
v2.1.248 Une session en arrière-plan qui n'attendait pas votre entrée et est trouvée morte plus de 48 heures après sa dernière activité, comme après que la machine ait été éteinte pendant des jours, s'affiche comme arrêtée avec ended while the background service was off, et Enter sur elle demande avant de reprendre sa conversation enregistrée. Avant cette version, une telle session réapparaissait comme un nouvel échec trié en haut de la liste, et un simple Enter tirait la conversation de plusieurs semaines au premier plan.
v2.1.248 Ouvrir une ligne arrêtée dont la conversation vous avez reprise dans un autre terminal est refusé avec Can't open — this session is running in another terminal, et la ligne affiche Open in a terminal au lieu d'afficher sous Working. Avant cette version, ouvrir la ligne démarrait un deuxième processus écrivant dans la même conversation.
v2.1.248 Une session en arrière-plan attendant une décision de permission tandis qu'un hook PermissionRequest ou PreToolUse a imprimé une réponse invalide nomme l'événement du hook et l'erreur de schéma sur sa ligne. Avant cette version, la ligne affichait seulement la requête en attente.
v2.1.248 Sur Windows, claude agents répond au clavier quand lancé dans un onglet de terminal qu'un programme antérieur a laissé en mode win32-input. Avant cette version, Claude Code ne décodait pas les enregistrements de clés qu'un tel onglet envoie.
v2.1.247 Sur Linux et WSL, une session dont le processus hôte du terminal est mort échoue en quelques secondes avec la raison. Une ouverture qui ne produit aucune sortie se termine après environ dix secondes avec une offre de redémarrage, et Enter sur la ligne redémarre la session avec sa conversation ; claude attach <id> rapporte la cause et quitte. Avant cette version, ouvrir une telle session affichait opening… · esc to cancel indéfiniment et claude attach <id> attendait sans rapporter une erreur.
v2.1.246 Sur une installation npm, quand le service en arrière-plan échoue à démarrer tandis que npm install -g @anthropic-ai/claude-code remplace le binaire, Claude Code attend jusqu'à dix secondes pour que l'installation se termine et réessaie avant de rapporter EACCES: permission denied.
v2.1.246 Quand le processus du service en arrière-plan meurt après avoir imprimé une erreur, Claude Code rapporte l'échec et cite la première ligne d'erreur du service.
v2.1.246 Si votre machine s'endort tandis que le service en arrière-plan démarre, Claude Code réessaie le démarrage une fois au lieu d'échouer.
v2.1.246 Claude Code attend environ deux minutes au lieu de 45 secondes pour un service en arrière-plan nouvellement démarré qui est vivant mais lent à accepter les connexions.
v2.1.246 Le service en arrière-plan démarre à partir de votre répertoire personnel, donc sur macOS et Linux un répertoire de démarrage qui a été supprimé ou déplacé ne bloque plus le démarrage.
v2.1.246 /fork copie la conversation complète à partir d'une session qui elle-même a démarré comme une copie et n'a pas enregistré une nouvelle invite depuis : une copie /fork à laquelle vous vous êtes attaché, une session réattachée après que ← ou /background l'ait déplacée en arrière-plan, ou une session démarrée avec claude --resume <id> --fork-session. Avant cette version, si vous exécutiez /fork dans une telle session avant de lui envoyer une nouvelle invite, Claude Code imprimait la confirmation normale mais démarrait la copie avec une conversation vide. Déplacer une telle session en arrière-plan avec ← ou /background perdait la conversation de la même manière.
v2.1.246 Quand vous ouvrez une session que vous venez de dispatcher tandis que son processus worker démarre encore, comme en appuyant sur Enter sur sa ligne, Claude Code attend le processus puis s'attache. Avant cette version, si vous appuyiez sur Enter tandis que le processus démarrait encore, Claude Code pouvait arrêter la session avec Session <id> was stopped while the respawn was in flight.
v2.1.246 Quand vous mettez en arrière-plan une session nommée, Claude Code la répertorie une fois, et quand vous mettez en arrière-plan la même conversation à nouveau, il numérote le nom de la nouvelle ligne, comme my-session (2), la ligne existante gardant son nom. Avant cette version, le terminal sur lequel vous avez appuyé sur ← pouvait apparaître dans claude agents --json comme une deuxième session sous le même nom, et si vous mettiez en arrière-plan la même conversation à nouveau, Claude Code ajoutait une autre ligne sous le nom identique.
v2.1.239 Avec le mode éditeur vim activé, appuyer sur Esc dans l'entrée de la vue agent bascule du mode INSERT au mode NORMAL et conserve votre texte, correspondant à l'invite principale ; en mode NORMAL avec du texte toujours dans l'entrée, appuyer sur Esc l'efface, et appuyer sur Esc sur une entrée vide quitte, comme le décrit le raccourci Esc. Avant cette version, Esc effaçait l'entrée.
v2.1.233 Pour une session liée à une demande de fusion GitLab, Claude Code écrit l'étiquette de la ligne dans la syntaxe de référence !1234 de GitLab. Vous pouvez également coller l'URL de la demande de fusion dans l'entrée de dispatch pour sélectionner cette session. Avant cette version, l'étiquette s'affichait comme #1234, et une URL de demande de fusion collée correspondait à une session uniquement quand sa première invite contenait l'URL.
v2.1.227 Supprimer une session garde la session et son worktree tandis qu'une autre session Claude Code en direct s'exécute à l'intérieur de ce répertoire worktree. La vue agent affiche not deleted sur la ligne et la raison dans le pied de page, et claude rm affiche kept <id> avec la raison, qui nomme l'ID de processus de l'autre session. Avant cette version, supprimer la session supprimait le worktree tandis que l'autre session travaillait encore dedans.
v2.1.225 claude agents dans un répertoire que vous n'avez pas approuvé affiche le même dialogue de confiance d'espace de travail que claude affiche au démarrage, avant que la vue agent s'ouvre. Accepter enregistre la confiance pour cet espace de travail ; refuser quitte sans ouvrir la vue agent. Avant cette version, claude agents s'ouvrait sans demander, donc les sessions que vous avez dispatchées à partir de celui-ci s'exécutaient dans un répertoire que vous n'aviez jamais été invité à approuver.

Avec la liste groupée par répertoire, survoler la souris sur une ligne la met en évidence sans changer la cible de dispatch ; sélectionner une ligne avec les touches fléchées ou un clic change toujours la cible. Avant cette version, déplacer la souris sur une session dans un autre projet changeait silencieusement le répertoire dans lequel la prochaine session dispatchée démarrait.
v2.1.221 /status affiche une ligne Session kind : background job · attached ou background job · unattended dans une session en arrière-plan, selon qu'un terminal est attaché, et interactive dans toute autre session. Avant cette version, /status ne rapportait pas le type de session.

/fork : Claude Code instruit la copie d'isoler son travail de celui de la session originale : la copie crée son propre worktree avant de faire des modifications de code, reste en dehors du worktree de la session originale, et base une nouvelle branche sur la branche de l'original quand sa tâche s'appuie sur ce travail. Voir la section liée pour les conditions exactes. Avant cette version, la copie ne recevait aucune instruction d'isolation et pouvait finir par modifier le worktree ou extraire le checkout sur lequel la session originale travaillait encore.

Avec le mode éditeur vim activé, appuyer sur ← juste après avoir annulé l'invite jusqu'à vide avec u demande la même confirmation que de supprimer le texte ou de se déplacer dans l'historique des invites, et bascule uniquement à la deuxième pression ; avant cette version la pression basculait immédiatement.
v2.1.219 Avec le mode éditeur vim activé, appuyer sur ← sur une invite vide ouvre la vue agent à partir du mode NORMAL ainsi que INSERT, et l'indice ← du pied de page s'affiche en mode NORMAL ; avant cette version le geste et l'indice étaient INSERT uniquement, et en mode NORMAL ← sur une invite vide ne faisait rien. Taper dans l'entrée tandis que Claude Code attend de mettre la session en arrière-plan annule le basculement avec Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again. donc un brouillon tapé n'est pas perdu.
v2.1.218 Appuyer sur ← dans les deux secondes d'une suppression qui a vidé l'invite, ou de se déplacer dans l'historique des invites, affiche Press ← again to open agents, ou Press ← again to go back to agents dans une session attachée, et bascule uniquement à une deuxième pression au moins une seconde plus tard ; avant cette version la pression basculait immédiatement. Un ← qui arrive à l'intérieur d'une entrée collée ou scriptée ne déclenche plus le basculement. Mettre en arrière-plan une session au premier plan avec ← affiche Your conversation moved to the background au-dessus de la liste, et Esc à la racine de la vue agent revient à cette conversation au lieu de quitter vers le shell, avec double Ctrl+C restant la sortie ; si la conversation ne peut pas être rouverte, Claude Code quitte et affiche une commande claude --resume pour elle. Sur Windows, un ← appuyé dans environ une demi-seconde de l'attachement affiche Ambiguous ←, press again to detach et se détache à la deuxième pression.
v2.1.217 L'insigne de demande de tirage sur la ligne d'une session s'affiche comme un lien hypertexte même quand Claude Code ne peut pas détecter le support de lien hypertexte du terminal, par exemple sur SSH ou tmux ; définissez FORCE_HYPERLINK=0 pour l'afficher en texte brut. Avant cette version, l'insigne s'affichait en texte brut quand le support n'était pas détecté.
v2.1.216 /fork : la confirmation est une ligne, affichant l'état de la copie, le nom de sa ligne de vue agent, et son ID de session pour claude attach, se terminant par runs in the origin tree ou edits this checkout uniquement quand la copie s'exécute dans l'arborescence de travail principale ou modifie le checkout que vous avez ouvert. Cliquer sur le nom met cette session en arrière-plan et ouvre la vue agent dans la session de la copie. La confirmation ne restate plus le mode de permission hérité de la copie ; les versions antérieures imprimaient une confirmation multi-ligne sans nom cliquable.

Needs input : /install-github-app et la liste des paramètres /mcp, exécutées tandis que personne n'est attaché, affichent la session sous Needs input avec une ligne nommant la commande, et s'attacher et réexécuter la commande continue ; de v2.1.208 à v2.1.215 elles étaient refusées purement et simplement dans cet état.

Restauration --agent : reprendre ou redémarrer une session --agent mise en arrière-plan restaure l'invite système de l'agent et les restrictions d'outils, en cherchant d'abord le répertoire de la session pour l'agent, quand son espace de travail est approuvé ; une session dont l'agent n'existe plus continue avec les outils par défaut et l'invite système et s'ouvre avec un avertissement visible, au lieu de revenir silencieusement à l'agent par défaut.

Ctrl+X : appuyer dessus deux fois supprime une session même quand la tentative d'arrêt échoue, au lieu qu'un arrêt échoué annule la suppression en attente, et une session supprimée dont le processus worker était mort ne réapparaît plus à la prochaine actualisation.

Suppression de worktree : une session dont le répertoire worktree n'appartient à aucun référentiel git peut être supprimée ; avant cette version chaque tentative de suppression d'une telle session était refusée. Un répertoire qui a déjà disparu s'efface immédiatement. La double pression de la vue agent supprime un répertoire qui a toujours des fichiers, en exécutant votre hook WorktreeRemove pour un répertoire créé par hook, sauf si les enregistrements d'une autre session le nomment aussi. claude rm garde un tel répertoire chaque fois que des fichiers restent.
v2.1.214 Une session mise en arrière-plan avec ← ou /background et laissée inactive sans rien en cours d'exécution a son processus arrêté comme toute autre session inactive, au lieu de garder son processus et le service en arrière-plan s'exécutant indéfiniment. Une session complétée peut être supprimée avec claude rm ou à partir de la vue agent après que le service en arrière-plan soit devenu inactif, et une session qui a entré un worktree après avoir été dispatchée à partir d'un répertoire qui n'est pas un référentiel git, comme un dossier d'espace de travail multi-repo, peut être supprimée à partir de la vue agent quand le worktree lui-même appartient à un référentiel git, parce que le nettoyage est résolu à partir du worktree au lieu du répertoire à partir duquel la session a été dispatchée ; les deux suppressions étaient refusées à chaque tentative avant. Rouvrir une session arrêtée restaure sa conversation enregistrée même quand un dossier dans le magasin de transcriptions ne peut pas être lu.
v2.1.213 /install-github-app, la liste des paramètres /mcp, et les actions d'authentification MCP fonctionnent dans une session en arrière-plan tandis qu'un terminal est attaché, et sont refusées uniquement quand personne n'est attaché, avec un message vous disant de vous attacher et de réexécuter la commande ; de v2.1.208 à v2.1.212 elles étaient refusées même avec un terminal attaché.
v2.1.212 /fork dans une session interactive copie la conversation dans une nouvelle session en arrière-plan qui apparaît comme sa propre ligne, nommée d'après la session d'où elle vient ou, pour un fork invité d'une session sans nom, d'après l'invite de fork, tandis que l'original continue de s'exécuter ; le comportement antérieur de fork-subagent de /fork s'est déplacé vers /subtask. Avec la vue agent désactivée, /fork garde le comportement de fork-subagent. Une ligne focalisée qui attend sa première invite affiche space to send it a prompt. Ctrl+J insère une nouvelle ligne dans l'entrée de dispatch sur les terminaux avec rapport de clés étendu, où la pression de touche était précédemment ignorée, et l'overlay ? répertorie le raccourci. L'indice de pied de page ← dans une session interactive affiche brièvement N done quand une session en arrière-plan se termine tandis qu'aucune n'a besoin de votre entrée. Taper un /resume nu dans la vue agent ouvre un sélecteur de sessions passées du référentiel à partir duquel vous avez ouvert la vue agent, y compris les sessions supprimées de la liste, et en choisir une la reprend comme une session en arrière-plan ; avant cette version /resume n'était pas disponible dans la vue agent et les sessions supprimées n'étaient accessibles que via claude --resume ou /resume à partir d'une session interactive. Les formes ciblées, délimitées et restreintes conservent l'indice attach to a session to run it que les versions antérieures affichaient pour chaque forme. Les sessions attendant une invite de sandbox network-host, une demande d'entrée MCP, ou une invite de paramètres gérés s'affichent comme Needs input au lieu de Working, dans la vue agent et dans claude agents --json, et une question de Claude rapporte waitingFor: input needed au lieu de permission prompt. S'attacher à une session dont le processus s'est arrêté affiche sa transcription formatée de la manière dont la session en direct la rend, au lieu de texte brut. Une session arrêtée dont la transcription est dans un endroit inattendu reprend à partir de celle-ci via une analyse de dernier recours de vos transcriptions enregistrées, et ouvrir une ligne qui n'a pas de transcription enregistrée affiche Press enter again to restart this session fresh, la redémarrant à nouveau à la deuxième pression ; v2.1.211 affichait le refus sans moyen de redémarrer à partir de la vue agent.
v2.1.211 Réveiller une session arrêtée en s'attachant ou en répondant à partir du répertoire dans lequel elle s'exécute transfère à nouveau la passerelle ANTHROPIC_BASE_URL de votre shell, dans les mêmes conditions qu'une dispatch fraîche, donc une session authentifiée via une passerelle ANTHROPIC_AUTH_TOKEN reprend sur la passerelle au lieu de rapporter Not logged in. S'attacher à une session arrêtée qui a été mise en arrière-plan à partir d'une autre conversation avant que sa première réponse ne se termine est refusé avec This session has no saved transcript au lieu de démarrer silencieusement une conversation vierge sous le même ID de session ; ouvrir la même ligne à partir de la vue agent affichait le refus dans le pied de page. Terminer le processus d'une session ← ou /background de l'extérieur de Claude Code la marque arrêtée au lieu que le superviseur la redémarre, un arrêt déjà enregistré sur le disque est honoré sauf si une réponse que vous avez envoyée attend toujours d'être livrée, une session redémarrée après un crash est informée qu'elle a été redémarrée, et une session ← ou /background redémarrée ne reprend pas une réponse interrompue plus ancienne qu'environ une heure. Une réponse de nommage de session qui répond ou refuse l'invite au lieu de l'étiqueter, comme pour une invite qui est surtout un lien, est supprimée et la ligne garde un nom tiré du texte de l'invite. Supprimer une session dont le git du worktree ne reconnaît plus réussit, laissant le répertoire worktree sur le disque et nommant son chemin, au lieu que chaque tentative soit refusée. Un refus de suppression affiche la raison sur la ligne de la session, y compris l'erreur git sous-jacente quand le worktree n'a pas pu être supprimé, au lieu que la ligne réapparaisse silencieusement.
v2.1.210 claude attach attend tandis que le service en arrière-plan démarre ou se reconnecte au lieu d'échouer avec une erreur job not found ou still starting, rapporte une session qui s'est terminée pendant l'attachement comme quittée, et applique un redimensionnement de terminal effectué pendant un attachement lent quand l'attachement se termine. L'indice de pied de page ← du nombre de besoins d'entrée apparaît sur chaque fournisseur, y compris les fournisseurs tiers qui affichaient précédemment la forme ← for agents simple. Mettre une session en arrière-plan avec ← porte la liste de tâches de Claude à la session en arrière-plan au lieu de la supprimer. La ligne sur laquelle vous avez appuyé sur ← garde un nom gras et non estompé après que la sélection se déplace. claude agents --effort accepte ultracode au lieu de le supprimer silencieusement.
v2.1.208 S'attacher à une session dont le processus s'est arrêté affiche le dernier écran de sa transcription tandis que le processus démarre, au lieu d'une simple note Session is starting. Une réponse qui ne peut pas être livrée parce que le service en arrière-plan est inaccessible ou l'envoi échoue est enregistrée et envoyée comme l'invite suivante de la session quand son processus redémarre ; avant cette version, une réponse perdue tandis que le service en arrière-plan était inaccessible était supprimée. Un processus dont le binaire lui-même a été remplacé par une mise à jour peut toujours démarrer le superviseur, à partir du lanceur claude installé ou de la version la plus récente sur le disque, au lieu d'échouer jusqu'au redémarrage de Claude Code. Un superviseur exécutant une version plus ancienne ne redémarre jamais une session inactive démarrée par une version plus récente sur son propre binaire plus ancien. Supprimer une session supprime son worktree même après que la session ait déplacé le worktree sur une branche différente, et garde le worktree ensemble avec la ligne de session quand le worktree a des commits qui ne sont poussés nulle part ou une autre session le revendique, au lieu de détruire les commits ou d'orpheliner le worktree. /install-github-app et la liste des paramètres /mcp et ses actions d'authentification sont refusées dans une session en arrière-plan avec un message nommant l'alternative ; en v2.1.208 uniquement, le sélecteur /model a été refusé de la même manière et un /model <name> tapé a basculé cette session uniquement au lieu de sauvegarder également votre modèle par défaut.
v2.1.207 Le panneau d'aperçu s'ouvre avec la phrase que la ligne tronque, comme la question exacte pour une session qui vous attend, et affiche combien de temps une session bloquée a attendu comme une seule ligne waiting 3m au lieu de préfixer le même horodatage à la phrase de statut et à la question. Coller le même texte à nouveau dans l'entrée de dispatch développe l'espace réservé [Pasted text #N] réduit au lieu d'en ajouter un deuxième. Une session en arrière-plan nommée en acceptant un plan affiche ce nom sur sa ligne. Une session en arrière-plan qui s'est déplacée dans un worktree conserve sa conversation quand son processus est redémarré à partir de la vue agent.
v2.1.206 Les résumés des lignes remplissent la largeur restante de la ligne et ne tronquent qu'au bord droit du terminal au lieu de 64 colonnes. Après le redémarrage du superviseur dans une nouvelle version de Claude Code, il redémarre les sessions en arrière-plan inactives restantes sur cette version en arrière-plan au lieu de quelques par minute. Supprimer une session avec Ctrl+X ou claude rm l'efface également de la liste de sessions du superviseur, de sorte que la ligne ne réapparaît plus après un redémarrage du superviseur. Une variable de remplacement de corps de requête CLAUDE_CODE_EXTRA_BODY exportée dans le shell de dispatching atteint les sessions en arrière-plan au lieu d'être ignorée.
v2.1.205 L'indice de pied de page ← du nombre de besoins d'entrée dans une session claude régulière compte les agents en arrière-plan vous attendant, comme ← 2 agents. Les résumés des lignes affichent le rapport d'une ligne de la session elle-même, tronqué à 64 colonnes, au lieu d'une invocation d'outil brute ou d'un nombre done/total ; les lignes groupées par répertoire s'ouvrent avec un mot d'état coloré. Le panneau d'aperçu s'ouvre avec la phrase de statut complète et, pour une session vous attendant, sa question exacte au-dessus de l'entrée de réponse. Les sessions qui modifient, commentent, ferment ou marquent une demande de tirage comme prête avec gh y sont liées, pas seulement celles qui créent ou extraient une demande de tirage, une poussée lie une demande de tirage même quand le nom de la branche locale ne correspond pas, et une demande de tirage dont la sortie de la commande de création a dépassé la limite en ligne est également liée. Un tour sans texte lisible conserve l'état précédent de la session au lieu de le basculer vers Working. claude attach attend jusqu'à environ 60 secondes une session qui redémarre, avec une ligne de statut nommant pourquoi, au lieu d'échouer.
v2.1.203 Une passerelle ANTHROPIC_BASE_URL exportée dans le shell de dispatching atteint les sessions dispatchées à partir de celui-ci dans ce même répertoire quand le superviseur partage cet environnement de passerelle, au lieu d'être supprimée tandis que la clé API exportée à côté d'elle était conservée. Le PATH du shell de dispatching est appliqué à chaque worker de session. Appuyer sur ← tandis que les sous-agents s'exécutent les attend au lieu de les redémarrer après dix secondes. La liste vide affiche toujours les en-têtes de section avec une description sous chacun. Taper @ dans l'entrée de dispatch répertorie également les worktrees git enregistrés du référentiel de lancement qui vivent dans son arborescence de répertoires. Un effort hérité du paramètre effortLevel suit les modifications ultérieures de ce paramètre au lieu d'être fixé au dispatching. L'ouverture d'une session arrêtée dont la conversation est déjà ouverte dans une autre session en cours d'exécution est refusée avec un message au lieu d'échouer la ligne. Une commande qui n'est pas disponible dans la vue agent laisse le texte tapé dans l'entrée. Un hook WorktreeCreate qui échoue en dehors d'un référentiel git ne bloque plus la session de modifier les fichiers.
v2.1.202 Un nom défini avec /rename ou Ctrl+R sur une session en arrière-plan persiste quand le superviseur arrête et redémarre son processus, au lieu de revenir au nom avec lequel la session a été dispatchée.
v2.1.200 Une version plus ancienne de Claude Code qui réécrit la liste de sessions dans roster.json préserve les champs écrits par une version plus récente, correspondant à la garantie state.json existante, de sorte que les sessions démarrées par la version plus récente continuent d'accepter l'entrée après le redémarrage du superviseur. Quand vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée. La vue agent applique un drapeau --plugin-dir placé après agents à son propre sous-agent et à l'autocomplétion des compétences dans l'entrée de dispatch ainsi qu'aux sessions dispatchées.
v2.1.199 Une session en arrière-plan dont le processus se termine avant de finir de démarrer sur un hôte à faible mémoire affiche possibly low memory — free some up and retry dans le statut de sa ligne au lieu de seulement la raison de sortie brute. Mettre en arrière-plan une session avec ← ou /background transfère son /color vers la nouvelle ligne.
v2.1.198 La vue agent envoie une notification via preferredNotifChannel quand une session en arrière-plan a besoin d'une entrée, se termine ou échoue, et déclenche le hook Notification avec le type agent_needs_input ou agent_completed. ← et /exit à l'intérieur de claude attach <id> reviennent à la vue agent au lieu de quitter vers le shell ; Ctrl+Z revient au shell. Une session en arrière-plan qui a isolé son travail dans un worktree valide, pousse sa propre branche isolée, jamais main ou master, et ouvre une demande de tirage en brouillon quand elle se termine au lieu de demander d'abord. /login s'exécute dans la vue agent et ouvre la boîte de dialogue de connexion. La boîte de dialogue de sortie Background work is running propose Move to background and exit. Le transfert de sortie couvre également les sous-agents en arrière-plan, qui reprennent à partir de leur transcription à la prochaine activation au lieu d'être signalés comme échoués. claude --bg combiné avec -p ou --print est rejeté avec une erreur. L'hôte de session en arrière-plan demande la permission de réseau local macOS à la première utilisation du LAN au lieu d'échouer avec connect: no route to host.
v2.1.196 Une seule pression sur ← met en arrière-plan une session au premier plan ; les versions antérieures nécessitaient deux pressions, avec un indice de pied de page et une confirmation. --dangerously-skip-permissions passé à claude agents affiche la clause de non-responsabilité du contournement au lieu d'être silencieusement supprimé. Les sessions interactives que vous n'avez jamais nommées portent un nom par défaut comme my-app-3f dans les listes de sessions et claude agents --json. Les commandes shell en arrière-plan et les workflows dynamiques survivent à l'arrêt, au redémarrage ou à la mise à jour du processus de la session, y compris sur Windows ; définissez CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1 pour désactiver le transfert. Une transcription mal lue comme vide au redémarrage est renommée avec un suffixe .orphaned- au lieu d'être supprimée.
v2.1.195 Le travail en cours se transfère aussi quand vous mettez en arrière-plan une session sur Windows ; définissez CLAUDE_DISABLE_ADOPT=1 pour l'arrêter à la place. Le groupe Completed remplit l'espace vertical restant et l'en-tête se compacte sur les terminaux courts. Une version plus ancienne de Claude Code ne supprime plus les champs state.json plus récents des sessions ou ne cache plus ces sessions de claude agents. S'attacher à une session arrêtée bascule immédiatement au lieu d'afficher un écran vide pendant jusqu'à cinq secondes. Un superviseur qui ne peut pas accepter les connexions quitte et libère son verrou de lui-même.
v2.1.191 claude --bg avec un nom --agent qui ne correspond à aucun de vos sous-agents échoue le lancement : la session quitte immédiatement avec une erreur --agent '<name>' not found au lieu de s'exécuter avec l'agent par défaut.
v2.1.174 Les sessions en arrière-plan n'héritent plus des variables de point de terminaison de passerelle comme ANTHROPIC_BASE_URL du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs Could not resolve authentication method spurieuses.
v2.1.172 /model dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session.
v2.1.161 Les résumés des lignes affichent un nombre done/total pour les éléments de travail parallèles ; le panneau d'aperçu nomme l'élément de travail parallèle le plus long en cours d'exécution.
v2.1.157 claude agents accepte --agent ; les sessions dispatchées honorent le paramètre agent.
v2.1.145 La dictée vocale supportée dans l'entrée de réponse du panneau d'aperçu et l'entrée de dispatch.
v2.1.143 Le paramètre worktree.bgIsolation ajouté ; claude agents accepte --allow-dangerously-skip-permissions.
v2.1.142 claude agents accepte --permission-mode, --model, --effort, --dangerously-skip-permissions, --settings, --add-dir, --plugin-dir, --mcp-config, et --strict-mcp-config.
v2.1.141 claude agents accepte --cwd pour limiter la liste à un projet.
v2.1.139 La vue agent introduite comme un aperçu de recherche.