Skip to main content
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. Une ligne en haut compte les sessions en attente d'entrée, en cours de travail et terminées. Quatre sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé. Chaque ligne affiche le nom de la session, son dernier statut ou sa dernière question, et une heure. En bas se trouvent une entrée pour décrire une nouvelle tâche et une ligne d'indices de clavier. Vue agent dans un terminal. Une ligne en haut compte les sessions en attente d'entrée, en cours de travail et terminées. Quatre sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé. Chaque ligne affiche le nom de la session, son dernier statut ou sa dernière question, et une heure. En bas se trouvent une entrée pour décrire une nouvelle tâche et une ligne d'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.
La vue agent est en aperçu de recherche. L’interface et les raccourcis clavier peuvent changer à mesure que la fonctionnalité évolue.

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 dispatchez 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 :
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 un prompt 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 prompt que vous entrez ici démarre sa propre nouvelle session. Taper un autre prompt 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.
À 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, il affiche brièvement le nombre de sessions terminées, 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.

Ouvrir la vue agent par défaut

Pour que claude sans arguments ouvre la vue agent au lieu d’une nouvelle conversation, activez un paramètre /config.
1

Activer le paramètre

Dans une session claude régulière, exécutez /config et activez Ouvrir la vue agents par défaut. Pour ignorer le menu, définissez directement la clé defaultToAgentsView :
2

Démarrer Claude Code

Quittez la session, puis exécutez claude sans arguments :
La vue agent s’ouvre à la place d’une nouvelle conversation.
Pour démarrer une session régulière tandis que le paramètre est activé, passez un prompt : claude "fix the login test". Pour désactiver le paramètre, exécutez /config defaultToAgentsView=false dans une session régulière ou dans une session à laquelle vous vous attachez à partir de la vue agent.

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 dépôt 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 :
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.

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 : Séparément, la forme de l’icône a sa propre signification : L’étiquette #N ou !N qui peut apparaître au bord droit d’une ligne est un lien vers la pull request ou merge request 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 des 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 locale 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 de la machine 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épondre. 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 affiché dans chaque 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 requête au modèle, et le modèle écrit un nouveau résumé à 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 par é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 en cours de tour sont une courte requête de classe Haiku via votre fournisseur habituel, 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 du modèle réutilisent la sortie de la session elle-même et n’envoient pas de requête. Sur un fournisseur tiers ou une passerelle sans modèle de classe Haiku configuré, la requête utilise le modèle principal de la session à la place ; définissez ANTHROPIC_DEFAULT_HAIKU_MODEL pour en choisir un.

État de la pull request

Lorsqu’une session ouvre une pull request, Claude Code ajoute une étiquette au bord droit de la ligne, liée à la pull request :
  • Claude Code écrit l’étiquette comme #1234 pour une pull request et comme !1234 pour une merge request 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 pull request existante y est liée de la même manière. Claude Code trouve la pull request différemment selon la commande que Claude exécute :
  • Lorsque Claude modifie, commente, ferme ou marque une pull request comme prête avec gh, Claude Code lie la pull request que la sortie de la commande elle-même nomme. Une commande gh dont la sortie capturée ne nomme aucune pull request ne crée pas de lien ; gh pr merge est le cas courant, car elle imprime son résultat uniquement sur un terminal interactif.
  • Lorsque Claude extrait une pull request avec gh pr checkout ou pousse vers une branche, Claude Code recherche la branche avec gh pr view et lie sa pull request ouverte.
  • La pull request 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 pull request 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 pull request, l’étiquette affiche un nombre à la place, comme 3 PRs, colorée selon la pull request ouverte qui a le plus besoin d’attention. Ouvrez le panneau d’aperçu pour les voir toutes. Le numéro de la pull request est coloré selon son état : Pour une tâche qui se termine par une pull request, vérifiez cette étiquette pour le résultat : examinez et fusionnez la pull request 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 la phrase concernée 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 en cours de travail : sa phrase d’état complète
Toutes les pull requests liées à la session sont répertoriées ensuite. Pour une session qui vous attend, une ligne comme waiting 3m en dessous indique depuis combien de temps elle attend, et c’est la seule durée 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. Préfixez une réponse avec ! pour envoyer une commande Bash à la place. Ce qu’il advient de la réponse dépend de la session et de ce que vous envoyez :
  • Une session en cours de travail : /model, /effort, /rename et /usage s’exécutent immédiatement. Les autres réponses rejoignent la file d’attente de messages de la session au lieu d’interrompre la réponse, et prennent effet au même moment que les entrées en file d’attente. Les autres commandes attendent la fin du tour, même celles qui s’exécutent dès que vous les tapez dans le prompt de la session elle-même
  • Une réponse qui est exactement /stop : arrête immédiatement la session au lieu de lui être transmise, que la session soit en cours de travail ou qu’elle vous attende
  • Une tâche shell : la réponse, /stop compris, est transmise au terminal de la commande comme saisie
Lorsque la session vous attend, la façon de répondre depuis le panneau d’aperçu dépend de ce qu’elle attend :
  • Une question avec des choix prédéfinis : le panneau répertorie les choix par numéro. Avec l’entrée de réponse vide, appuyez sur le numéro d’un choix pour le remplir, puis sur Enter pour l’envoyer, ou tapez votre propre réponse à la place
  • Une question sans choix prédéfinis : tapez votre réponse. Lorsque l’entrée vide affiche une réponse suggérée, appuyez sur Tab pour la remplir et la modifier avant de l’envoyer
  • Une demande de permission ou un autre dialogue, comme une demande du sandbox ou la demande d’entrée d’un serveur MCP : répondre n’y répond pas. Votre réponse attend dans la file d’attente. Pour répondre au dialogue, attachez-vous avec →
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 indique que le hook a échoué. La session attend toujours la même demande. Lorsqu’une réponse ne peut pas être livrée, le message d’erreur indique si elle a été enregistrée. Une réponse préfixée avec ! ou / n’est jamais enregistrée. Claude Code envoie une réponse enregistrée comme prochain prompt de la session la prochaine fois que vous redémarrez la session ; renvoyez toute autre réponse. Avec la dictée vocale activée en mode maintien, maintenez votre touche push-to-talk enfoncée pendant que l’entrée de réponse a le focus 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 votre absence. 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 dans 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 dans tous les cas. 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 d’historique de défilement de terminal auquel ajouter du contenu. 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. Une session attachée ne signale pas son état à votre terminal. Appuyez sur ← sur un prompt 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. ← 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 est encore en train de répondre continue de s’exécuter pendant votre absence. 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 cet intervalle le terminal peut redélivrer une pression d’avant votre attachement. Appuyez à nouveau sur ← pour vous détacher. Ctrl+Z détache également mais revient plutôt à votre point de départ : 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 ou une commande shell ! plutôt que de détacher. Appuyer deux fois sur Ctrl+C sur un prompt vide détache. 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. Si vous vous détachez pendant qu’une /loop attend sa prochaine itération, la boucle continue de s’exécuter et cette itération démarre à l’heure prévue sans vous. Pour arrêter la boucle avant de vous détacher, consultez Arrêter une boucle. Pour terminer une session de l’intérieur, exécutez /stop.

Basculer entre les sessions sans quitter le terminal

Dans une session s’exécutant au premier plan, c’est-à-dire une session que vous avez démarrée dans le terminal plutôt qu’une session à laquelle vous vous êtes attaché depuis la vue agent, appuyer sur ← sur un prompt vide la met en arrière-plan et ouvre la vue agent avec cette ligne sélectionnée, afin que vous puissiez basculer entre 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 du prompt ou parcouru l’historique des prompts, 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 effectue le basculement. 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 à nouveau sur Esc dans un moment.
  • Appuyez deux fois sur Ctrl+C 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 revenez à cette ligne. La ligne depuis laquelle vous avez appuyé sur ← conserve également un nom en gras et non estompé après que vous avez déplacé la sélection avec les touches fléchées ou la souris, afin que vous puissiez savoir de quelle session vous venez. Si un outil s’exécute lorsque vous appuyez sur ←, Claude Code attend 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 à nouveau sur ← pour mettre en arrière-plan immédiatement au lieu d’attendre. Lorsque le travail en arrière-plan en cours 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. Après environ dix secondes, Claude Code met la session en arrière-plan sans attendre davantage, sauf dans des cas comme ceux-ci :
  • Des sous-agents au premier plan s’exécutent encore : Claude Code continue d’attendre afin que le travail des sous-agents au premier plan que Claude a démarrés soit transféré, et affiche Still backgrounding after the current tool. Appuyez à nouveau sur ← pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents depuis le début.
  • Une demande de permission ou une question attend votre réponse : pendant qu’une demande de permission ou une question posée par Claude attend, Claude Code continue d’attendre et affiche Still backgrounding after the current tool — a question is waiting for your answer. Si votre réponse permet au tour de continuer, comme Yes sur une demande de permission, Claude Code met la session en arrière-plan lorsque l’outil actuel se termine.
  • Vous tapez dans l’entrée du prompt : Claude Code annule le basculement, car le texte non envoyé reste dans la zone de saisie de votre terminal et ne serait pas déplacé vers la session en arrière-plan. Il affiche Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.
  • Vous arrêtez le tour : Claude Code annule le basculement et affiche Backgrounding cancelled — the turn was stopped. Par exemple, le tour s’arrête lorsque vous interrompez Claude avec Esc ou sélectionnez No sans commentaire sur une demande de permission de la conversation principale, ou appuyez sur Esc sur une question que Claude y pose. Appuyez à nouveau sur ← pour mettre la session en arrière-plan.
  • Un message en file d’attente ne peut pas être déplacé : les messages que vous avez mis en file d’attente pendant que Claude travaillait sont déplacés vers la session en arrière-plan avec la conversation. Lorsque l’un d’eux ne peut pas l’être, la session reste au premier plan et Claude Code affiche un avis comme Cannot open agents — 1 queued message can't move to the background. Press ← again once Claude has read it.
Lorsque Claude Code met la session en arrière-plan, que ce soit après environ dix secondes ou après que vous avez appuyé à nouveau sur ←, il arrête une commande shell que Claude exécute encore au premier plan. Claude Code n’affiche pas le dialogue Background this session? pour cette commande. Dans la session en arrière-plan, Claude n’a aucune trace du démarrage de la commande, Claude peut donc exécuter la commande à nouveau. Pour que la commande continue de s’exécuter lorsque la session est déplacée, appuyez sur Ctrl+B pour la transformer en commande en arrière-plan pendant que Claude Code attend encore. Appuyer sur ← crée la ligne de la session même lorsque la conversation n’a pas encore de messages, afin que → y revienne toujours. Vous pouvez désactiver ce raccourci pour les sessions au premier plan 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 passe dans Ready for review lorsqu’elle a une pull request ouverte qui nécessite un examen ou dont les vérifications échouent, et Completed rassemble les sessions terminées, échouées et arrêtées. 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, sauf lorsqu’un filtre est actif, auquel cas chaque groupe reste développé
Pour supprimer une session de la liste, appuyez sur Ctrl+X pour l’arrêter et à nouveau sur Ctrl+X 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 elle-même le processus de la session. Appuyez sur Esc pour ignorer la confirmation sans supprimer. Sauf dans les cas de conservation décrits dans Ce que la suppression d’une session supprime, la suppression retire 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 contient le worktree. 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 dépôt à 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 rejoigne la liste en tant que ligne, et Esc ferme le sélecteur. Le sélecteur s’ouvre uniquement pour un /resume seul. Une reprise ciblée, limitée à un périmètre ou restreinte ne peut pas être servie par le sélecteur, la vue agent affiche donc l’indication attach to a session to run it à la place lorsque :
  • /resume nomme un id ou un terme de recherche
  • la vue est limitée avec --cwd
  • la vue a été démarrée avec --safe-mode
  • la vue a été ouverte avec un flag comme --permission-mode ou --settings
Les sessions terminées qui ne tiennent pas à l’écran se replient dans une ligne … N more. Le groupe Completed remplit l’espace vertical restant après les groupes actifs, et sur un terminal de faible hauteur, 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

Commencez l’entrée de dispatch par l’un de ces filtres pour réduire la liste au fur et à mesure de la saisie : Pour combiner des filtres, commencez par a:, s:, n: ou o: et ajoutez-en d’autres, séparés par des espaces. La liste affiche les sessions qui correspondent à tous. Par exemple, s:blocked a:reviewer répertorie les sessions reviewer qui vous attendent. Lorsqu’un filtre est actif, les groupes que vous avez réduits se développent pour afficher leurs correspondances et une correspondance est sélectionnée, de sorte qu’appuyer sur Enter l’ouvre. Effacez l’entrée pour supprimer le filtre, et ces groupes se réduisent à nouveau.

Raccourcis clavier

Appuyez sur ? dans la vue agent pour voir les raccourcis en contexte. Le tableau ci-dessous les résume. Les raccourcis qui ont une action dans le contexte Agents suivent votre keybindings.json. C’est aussi le cas de Ctrl+G, via la liaison chat:externalEditor du contexte Chat.

Lancer de nouveaux agents

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

Lancer un agent à partir de la vue agent

Tapez un prompt 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 du prompt ; 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 le prompt pour inclure une capture d’écran ou un diagramme avec la tâche. Le texte collé plus long que 800 caractères ou de plus de trois lignes est réduit à 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 réduit 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 du prompt pour contrôler comment la session démarre : Un petit ensemble de commandes s’exécutent dans la vue agent elle-même au lieu de lancer une session :
  • /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 seul, ou son alias /continue, ouvre un sélecteur des sessions passées du dépôt pour en ramener une comme session en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur
Les skills, vos propres commandes, et les commandes intégrées qui développent les prompts comme /init sont envoyés à une nouvelle session en arrière-plan comme premier prompt. Les autres commandes intégrées 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 le prompt. Quand le même @name correspond à la fois à un sous-agent et à un dépôt frère, le sous-agent a la priorité. La correspondance du premier mot sans @ s’applique également, donc un prompt 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 le prompt 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’une de ces méthodes :
  • Ouvrez claude agents dans ce répertoire.
  • Ouvrez claude agents dans un répertoire parent et mentionnez un dépôt enfant avec @<repo> dans le prompt. Taper @ liste ces cibles :
    • Les dépôts Git un niveau en dessous du répertoire de lancement
    • Les git worktrees enregistrés du dépôt à partir duquel vous avez lancé qui se trouvent à 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 dépôt, 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, faites cd dans le répertoire et exécutez claude --bg "<prompt>".
Quand la vue agent est groupée par répertoire, le lancement envoie le prompt au répertoire de la ligne sélectionnée, vous pouvez donc sélectionner un groupe et y lancer une session sans retaper le chemin.

Envoyer ou copier une session en arrière-plan

Deux commandes déplacent le travail de la session dans laquelle vous êtes vers l’arrière-plan : /background y envoie la conversation actuelle et libère votre terminal, et /fork envoie une copie tandis que vous continuez à travailler là 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 un prompt comme /bg run the test suite and fix any failures pour donner d’abord une instruction supplémentaire. Si Claude est en train de répondre 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 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 de 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 intact le nom de la ligne existante. 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’originale 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 reprend également le modèle, le mode de permission, le niveau d’effort, ainsi que tous les répertoires ou les permissions « ne plus demander » 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 fait la copie n’entre de lui-même dans la conversation originale, bien que dans les sessions où la messagerie inter-sessions est activée, le Claude de l’une ou l’autre session puisse explicitement envoyer un message à l’autre. Copier la session nécessite Claude Code v2.1.212 ou ultérieur ; de v2.1.161 à v2.1.211, /fork démarre à la place un sous-agent forké, qui correspond désormais à /subtask. Quand la vue agent est désactivée, /fork conserve le comportement du sous-agent forké et /subtask n’est pas disponible. Passez un prompt comme /fork open a draft pull request with the work so far et la copie commence à y travailler immédiatement. Sans prompt, 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 pendant qu’elle attend. La confirmation de /fork est une ligne montrant l’état de la copie, comme session running, le nom de sa ligne dans la vue agent, et son ID de session pour claude attach. Cliquez sur le nom pour basculer dans la copie : cette session passe en arrière-plan, comme lorsque vous appuyez sur ←, et la vue agent ouvre la session de la copie. Sauf quand la copie modifie sur place, Claude Code lui indique de créer son propre worktree avant d’apporter des modifications de code. En dehors d’un dépôt git, seule une copie déplacée hors d’un worktree créé par un hook reçoit l’instruction ; sans hook WorktreeCreate, la copie modifie sur place. Une copie déplacée hors de votre worktree reçoit également l’instruction de ne jamais modifier ce worktree, d’y exécuter des commandes ou d’y entrer, 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 son propre worktree avant de modifier 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 son worktree lié après son démarrage, la copie démarre là où se trouvait la session avant le déplacement et, sauf si elle modifie sur place, apporte ses modifications de code dans son propre worktree à cet endroit. Quand votre worktree est extrait sur une branche, cette instruction indique é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’un worktree lié d’un dépôt qui possède un arbre de travail principal, la copie démarre dans cet arbre de travail principal, avec la même règle de worktree propre mais sans instruction de branche. La confirmation se termine là aussi par runs in the origin tree.
  • Une session lancée à l’intérieur d’un worktree d’une disposition de dépôt nu (bare) n’a pas d’arbre de travail principal auquel revenir, donc la copie reste là où elle est, et la confirmation se termine par edits this checkout. La même note apparaît quand l’isolation par worktree est désactivée dans une session qui ne se trouve pas dans un worktree lié, car la copie modifie alors les fichiers que vous avez ouverts.
Les sessions démarrées avec des flags de lancement dont la copie n’hériterait pas, comme un prompt système remplacé ou une liste d’autorisation --tools, ne peuvent pas être forkées ; Claude Code l’indique 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 mêmes instructions ajoutées que la session dont elle provient.

Ce qui est transféré quand vous mettez en arrière-plan

La mise en arrière-plan démarre un nouveau processus qui reprend à partir de la conversation enregistrée, et le travail en arrière-plan en cours y est transféré : 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 sont tous transférés et continuent de s’y exécuter. Un sous-agent se déplace avec tout ce qu’il a démarré, donc il n’est transféré que lorsque tout ce travail peut aussi être déplacé. Pour arrêter le travail en arrière-plan 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 la mise en arrière-plan. Quand un workflow dynamique a encore des sous-agents en cours d’exécution, Claude Code demande confirmation avant la mise en arrière-plan avec la boîte de dialogue Background this session?, qui indique 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 renvoient leurs résultats enregistrés et lesquels s’exécutent à nouveau. Claude Code arrête le travail en arrière-plan qui ne peut pas être transféré, comme un monitor en cours d’exécution, et arrête avec lui un sous-agent mis en arrière-plan qui possède un monitor. Quand un tel travail est en cours, Claude Code affiche la boîte de dialogue Background this session? pour que vous puissiez confirmer avant qu’il n’arrête le travail. 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 rattachements ultérieurs. Les flags de configuration du lancement d’origine sont reportés à la session mise en arrière-plan, donc ses serveurs MCP, ses paramètres et son modèle de secours restent en vigueur :
  • --mcp-config et --strict-mcp-config
  • --settings
  • --setting-sources
  • --add-dir
  • --plugin-dir
  • --fallback-model
  • --allow-dangerously-skip-permissions
Les répertoires que vous avez ajoutés pendant la session avec /add-dir sont également reportés. Reporter --allow-dangerously-skip-permissions maintient bypassPermissions accessible dans la session mise en arrière-plan, mais n’accorde rien de nouveau : le mode nécessite toujours que votre acceptation de l’avertissement de contournement soit enregistrée.

Lancer un agent à partir de votre shell

Passez --bg ou sa forme longue --background pour démarrer une session qui passe directement en arrière-plan :
Le prompt est l’argument positionnel, pas une valeur de -p. Claude Code rejette --bg combiné avec -p ou --print avant la création de toute session, car --print ne démarre jamais la session interactive à laquelle claude agents s’attache. Si vous exécutez claude --bg à partir d’un terminal dans un répertoire auquel vous n’avez pas accordé votre confiance, la boîte de dialogue de confiance de l’espace de travail apparaît d’abord et la session démarre une fois que vous acceptez. Si vous refusez, Claude Code se termine sans démarrer de session. Là où aucune boîte de dialogue ne peut apparaître, comme dans un script, la commande se termine à la place avec une erreur Workspace not trusted. Pour exécuter un sous-agent spécifique que vous avez défini, comme un code-reviewer, comme agent principal de la session, combinez --bg avec --agent :
Si le nom ne correspond à aucun de vos sous-agents, le lancement échoue : Claude Code affiche un avertissement no agent named et signale quand même 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 prompt système, voir Flags de prompt système dans les conversations reprises. Il recherche d’abord l’agent dans le répertoire propre à la session, à condition que vous ayez accordé votre confiance à cet espace de travail, donc un agent limité au projet se 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 :
Sur Claude Code v2.1.257 ou ultérieur, Claude Code soit continue 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 seule ligne pour elle. Quand vous combinez --bg avec --continue, un --resume seul, 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 délibérément, 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 :
Après la mise 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 :

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 :
À 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 adossée à un PTY et apparaît comme une ligne dans la vue agent, avec la ligne de sortie la plus récente comme 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 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 sont nettoyées automatiquement environ cinq minutes après la fin de la commande, donc lisez-la avant si vous avez besoin du résultat.

Comment les modifications de fichiers sont isolées

Quand vous lancez une session en arrière-plan à partir de la vue agent ou en démarrez une avec claude --bg, la session démarre dans votre répertoire de travail. Avant de modifier des fichiers, Claude déplace la session dans un git worktree isolé sous .claude/worktrees/, afin que les sessions parallèles puissent lire le même checkout tout en écrivant chacune dans le sien. Une fois la session dans son worktree, Claude Code applique l’isolation par worktree à la session et à tous les sous-agents qu’elle lance. Claude se passe du worktree quand :
  • Vous avez mis en arrière-plan une session que vous aviez déjà ouverte avec ← ou /background. Cette session continue de modifier les fichiers là où elle travaillait déjà
  • La session se trouve déjà à l’intérieur d’un git worktree lié, que Claude l’ait créé sous .claude/worktrees/ ou que vous l’ayez créé ailleurs avec git worktree add
  • Le fichier que Claude modifie se trouve à l’intérieur d’un git worktree lié, comme un worktree que la session ou son sous-agent a créé avec git worktree add
  • Le répertoire de travail n’est pas un dépôt git et aucun hook WorktreeCreate n’est configuré
  • L’écriture se situe en dehors du répertoire de travail
Pour désactiver l’isolation par worktree pour un dépôt où les git worktrees ne sont pas pratiques, définissez worktree.bgIsolation sur "none". Les sessions en arrière-plan modifient alors directement votre copie de travail sans d’abord se déplacer dans un worktree. Ajoutez le paramètre au fichier .claude/settings.json du projet :
En dehors d’un dépôt git, les sessions écrivent directement dans le répertoire de travail 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 autre système de contrôle de version, configurez un hook WorktreeCreate et Claude isole les modifications de la même manière que pour git. Quand le hook échoue dans un répertoire qui n’est pas un dépôt git, Claude renonce à l’isolation pour ce répertoire et modifie le répertoire de travail sur place. À l’intérieur d’un dépôt git, une session que Claude déplace dans un worktree avant de modifier des fichiers ne peut pas utiliser les outils Edit, Write ou NotebookEdit sur le checkout partagé tant que ce déplacement n’a pas eu lieu. Pour trouver le chemin du worktree d’une session, attachez-vous-y et vérifiez son répertoire de travail. Un sous-agent lancé par la session en arrière-plan hérite du répertoire de travail de la session. Une fois la session dans un worktree, les modifications de fichiers du sous-agent aboutissent dans ce worktree plutôt que dans votre copie de travail. Pour donner plutôt à un sous-agent son propre worktree séparé, définissez isolation: worktree dans son frontmatter ou passez isolation: "worktree" lors de son lancement. Quand une session en arrière-plan a apporté des modifications de code dans un worktree dans lequel Claude est entré, Claude Code indique à Claude de préserver le travail avant de terminer, afin qu’il survive si vous supprimez la session et son worktree :
  • Commit et push : Claude crée un commit sans demander, et pousse la branche quand le dépôt a un remote.
  • Pull request en brouillon : Claude en ouvre une quand la tâche le demande, et l’étiquette #N apparaît sur la ligne.
  • Jamais : pousser vers main ou master, forcer le push, et fusionner.
  • Vos instructions git ont la priorité : si la tâche, CLAUDE.md, ou la mémoire indique que vous gérez vous-même les commits ou les push, Claude vous laisse git.
Une session qui modifie un checkout qu’elle n’a pas isolé elle-même demande toujours avant de créer un commit ou de changer de branche. Cela s’applique quand l’isolation est définie sur "none", quand le déplacement vers le worktree a échoué, ou quand la session a démarré à l’intérieur d’un worktree qui existait déjà. Quelle que soit la tâche, Claude termine le travail par un rapport indiquant ce qu’il a fait et où se trouve le travail : un chemin, une branche, une pull request, ou la réponse elle-même.

Ce que supprime la suppression d’une session

Supprimez une session en appuyant deux fois sur Ctrl+X dans la vue agent ou avec claude rm. Sauf dans les cas de conservation 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 qu’il advient d’un worktree que Claude a créé pour la session :
  • La vue agent le supprime, y compris les modifications non commitées, donc faites d’abord un commit de ce que vous voulez conserver.
  • claude rm le conserve, ainsi que la ligne de la session, quand il contient des modifications non commitées.
  • Ni la vue agent ni claude rm ne suppriment un worktree qu’une autre session en cours d’exécution utilise ou a verrouillé, et supprimer à nouveau n’y change rien. Claude Code conserve le worktree et la session, et indique 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 le worktree contient des commits dont Claude Code ne peut pas confirmer qu’ils sont enregistrés ailleurs, Claude Code conserve le worktree et la session, et le message indique la branche du worktree et le nombre de commits non poussés. Le message propose également les deux façons de procéder : pousser les commits, ou supprimer à nouveau pour les abandonner. Les commits présents sur un remote ne bloquent pas la suppression. Les commits présents sur la copie locale de la branche par défaut de votre remote origin non plus, tant que cette branche est extraite dans votre checkout principal, c’est-à-dire le répertoire du dépôt lui-même plutôt qu’un worktree. Après ce refus, vous choisissez :
    • Pour conserver les commits, poussez-les, ou fusionnez-les dans cette branche par défaut, puis supprimez à nouveau la session.
    • Pour les abandonner, supprimez à nouveau la session sans pousser : appuyez deux fois sur Ctrl+X sur sa ligne dans la vue agent, ou exécutez la commande claude rm <id> --discard-unpushed affichée par le refus. Cela supprime la session et le worktree ainsi que sa branche, en abandonnant les commits non poussés et toutes les modifications non commitées.
    Quand vous supprimez à nouveau, Claude Code abandonne uniquement ce que le refus a montré : si le worktree a reçu un nouveau commit entre-temps, Claude Code le conserve à nouveau et affiche l’état mis à jour. Quand les enregistrements d’une autre session terminée mentionnent également le worktree, celui-ci est conservé quand vous supprimez à nouveau ; poussez les commits, puis supprimez à nouveau.
  • Un 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 ne parvient pas à supprimer le worktree, Claude Code conserve le worktree et la session, et le message indique la cause. Pour un hook, le message indique comment il s’est terminé, comme exited 1, et cite le début de son stderr. Le message vous indique également laquelle de ces actions effectuer ensuite :
    • Supprimer à nouveau la session pour supprimer le répertoire malgré tout, en appuyant deux fois sur Ctrl+X sur sa ligne dans la vue agent ou en exécutant la commande claude rm <id> --force-remove-worktree <worktree-id> affichée par le refus de claude rm. La branche du worktree reste dans le dépôt. Claude Code ne propose cette option que lorsqu’il peut confirmer tous les points suivants :
      • Le répertoire est l’un des worktrees liés du dépôt sous .claude/worktrees/
      • Ni le worktree ni un sous-module extrait ne contient de modifications non commitées de fichiers suivis
      • Aucun enregistrement d’une autre session ne le mentionne
      Quand Claude Code ne peut pas vérifier l’état de l’extraction d’un sous-module, par exemple lorsqu’il a été remplacé par un dépôt git distinct, il ne propose pas non plus cette option.
    • Corriger ce qui bloque, par exemple en commitant ou en remisant les modifications non commitées, en déplaçant un dépôt git distinct hors du worktree, en fermant ce qui utilise le répertoire, ou en corrigeant le hook, puis supprimer à nouveau la session.
    • Supprimer vous-même le répertoire, puis supprimer à nouveau la session.
Un worktree que vous avez créé vous-même et dans lequel vous avez démarré la session est laissé en place dans tous les cas. Une session dont le répertoire de worktree n’appartient à aucun dépôt git, parce que le dépôt a été supprimé ou qu’un hook WorktreeCreate a créé le répertoire ailleurs, peut tout de même être supprimée. Tant que des fichiers restent dans le répertoire :
  • La vue agent demande le même double appui sur Ctrl+X avant de les abandonner. Pour un répertoire créé par un hook, elle exécute plutôt votre hook WorktreeRemove, et en l’absence de celui-ci, elle refuse la suppression et conserve la session.
  • claude rm conserve la session et le worktree, et indique la raison.
Dans les deux cas, un répertoire mentionné par les enregistrements d’une autre session terminée est conservé.

Définir le modèle

Le nom du modèle affiché dans l’en-tête de la vue agent est le modèle de lancement par défaut. 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 directement le paramètre. Pour remplacer le modèle de lancement par défaut 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 le modèle de lancement par défaut depuis 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 ensuite l’utilisent. Tapez /model default pour effacer le remplacement et revenir au modèle de lancement par défaut. 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 :
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 changer de modèle : un choix dans le sélecteur, ou un /model <name> tapé, est enregistré comme votre valeur par défaut pour les nouvelles sessions, sauf si vous appuyez sur s dans le sélecteur pour un changement limité à la session. Un changement limité à 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 tient ses paramètres, son fournisseur, son mode de permission, son modèle et son effort de l’endroit et de la manière dont vous l’avez lancée. Les sous-sections ci-dessous couvrent chaque source, ainsi que 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, comme si vous y aviez démarré claude avec les flags de configuration qu’elle a reportés. Cela inclut les valeurs env dans les paramètres du projet, donc une variable ANTHROPIC_MODEL ou de fournisseur qui y est définie 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 aussi 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 y avez exporté.

Passerelle LLM

Si vous faites passer Claude Code par une passerelle LLM, placez les variables de la passerelle dans le 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 montre le bloc et indique quel fichier de paramètres utiliser pour les identifiants. Si vous exportez plutôt un ANTHROPIC_BASE_URL de passerelle uniquement dans votre shell, il n’atteint une session en arrière-plan, avec les ANTHROPIC_CUSTOM_HEADERS et les identifiants que vous avez exportés avec lui, que lorsque le superviseur a lui-même été démarré à partir d’un shell ayant 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 vous trouvez
  • Vous réveillez une session arrêtée dans le répertoire dans lequel vous vous trouvez en vous y attachant ou en lui répondant
Claude Code transmet une passerelle placée devant un fournisseur cloud. Si le shell à partir duquel vous lancez sélectionne le fournisseur et exporte l’endpoint de sa passerelle avec son flag de contournement d’authentification, Claude Code transmet la paire endpoint et flag à 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 transmet cet endpoint et ce flag. Claude Code applique une passerelle transmise uniquement au processus en cours d’exécution de cette session 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 se trouvait la session, donc une session que vous avez basculée en acceptEdits ou auto y reste après le détachement
  • Lancée à partir d’une vue agent que vous avez ouverte avec ← : la configuration propre à la cible passe 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é dans un shell, ou avec claude --bg : la nouvelle session démarre comme le ferait une nouvelle session claude dans ce répertoire, sauf si vous l’avez lancée à partir d’une vue agent ouverte avec des valeurs de lancement par défaut. Dans quel mode de permission une session démarre indique l’ordre
Pour une session que vous lancez à partir d’une vue agent ouverte avec ←, Claude Code prend le mode de permission de la première de ces sources 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 de la liste décide. Par exemple, si vous lancez à partir d’une session en mode plan vers un répertoire dont les paramètres versionnés demandent acceptEdits, la nouvelle session démarre en mode plan. Si vous déplacez ce defaultMode vers ~/.claude/settings.json, il s’applique quel que soit le mode de permission de la session dont vous venez. L’ordre de permissivité est le suivant : plan, puis Manual et dontAsk, puis acceptEdits et auto, chacun étant considéré comme plus permissif que l’autre, puis bypassPermissions.

Valeurs de lancement par défaut

Pour définir des valeurs par défaut pour chaque session que vous lancez à partir de la vue agent, passez l’un des flags --permission-mode, --model, --effort ou --agent lors de son ouverture :
Ici, --effort accepte les mêmes valeurs que le flag --effort de premier niveau, y compris ultracode. --agent définit le sous-agent utilisé quand un prompt de lancement n’en nomme pas, que ce soit avec @name ou comme premier mot. Sa valeur par défaut est le paramètre agent s’il est défini, sinon l’agent intégré généraliste 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 flags CLI de premier 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 flag de premier 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. Une session en arrière-plan démarrée en mode bypassPermissions nécessite que votre acceptation de l’avertissement de contournement soit enregistrée, puisque ce mode permet à une session que vous ne surveillez pas d’agir sans approbation. Passer --dangerously-skip-permissions ou --permission-mode bypassPermissions à claude agents affiche le même avertissement si vous ne l’avez pas accepté auparavant, et l’accepter applique bypassPermissions aux sessions que vous lancez à partir de la vue. Passer --allow-dangerously-skip-permissions affiche également le même avertissement, et l’accepter rend bypassPermissions disponible dans le cycle Shift+Tab de ces sessions sans les y démarrer.

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 flags de configuration qu’elle reporte, persistent tous lorsque le superviseur arrête et redémarre ultérieurement son processus. Un modèle ou un effort que vous avez changé en cours de session avec /model ou /effort est également conservé. Si la session a pris son effort dans vos paramètres plutôt que dans --effort ou /effort, Claude Code relit vos paramètres chaque fois qu’il démarre un processus pour la session. Après avoir modifié l’effort enregistré dans settings.json, le changement atteint les sessions que vous mettez en arrière-plan avec ← ou /bg, ainsi que leurs redémarrages ultérieurs. L’effort enregistré correspond à la clé effortLevel ou à une entrée modelSettings. Claude Code conserve également lors de ce redémarrage un nom que vous avez défini avec /rename ou Ctrl+R, donc vous pouvez toujours exécuter claude --resume <name> pour accéder à la session. Un prompt que vous avez remisé avec Ctrl+S pendant que vous étiez attaché est également conservé avec la session. Rouvrez la session après l’arrêt ou le redémarrage de son processus, et appuyez sur Ctrl+S pour restaurer 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 flags 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, --setting-sources et --plugin-dir à elle-même et transmet chaque flag de configuration aux sessions que vous lancez à partir d’elle, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions. Répétez --add-dir, --plugin-dir ou --mcp-config une fois par valeur. claude agents ne prend pas en charge la forme séparée par des espaces, comme --add-dir a b c. Vous pouvez placer --settings, --setting-sources 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 :
--settings accepte un chemin de fichier ou une chaîne JSON en ligne. Un chemin de fichier doit pointer vers un fichier existant ; sinon, Claude Code se termine avec une erreur Settings file not found.

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. claude attach et claude logs peuvent prendre une partie du nom d’une session à la place de l’ID, comme dans claude logs "auth refactor". claude attach n’ouvre une session par son nom que tant que son processus est en cours d’exécution ; passez donc plutôt l’ID pour redémarrer une session arrêtée. Passer un nom nécessite Claude Code v2.1.290 ou ultérieur.

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 :

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. 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 demande 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, tout comme une tâche planifiée à l’échelle de la session en attente, par exemple un réveil /loop.
  • 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.
  • Le superviseur lui-même s’arrête, par exemple parce que son processus a été terminé depuis l’extérieur de Claude Code : sur macOS et Linux, le processus de chaque session attend environ une minute qu’un nouveau superviseur s’y reconnecte, et s’arrête si aucun ne le fait. Exécutez claude agents dans votre shell durant cette minute pour démarrer un nouveau superviseur et garder vos sessions en cours d’exécution. Si la minute s’écoule d’abord, les sessions s’arrêtent, mais leurs conversations enregistrées restent sur le disque : attachez-vous à une session ou répondez-y et elle redémarre à partir de sa conversation enregistrée, comme décrit dans Les sessions s’affichent comme échouées ou arrêtées après l’arrêt.
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 endpoints 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. 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. Les sessions survivent intactes à ce décalage de version : 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 à 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 un prompt dans l’entrée en bas et appuyez sur Enter 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 arrière-plan 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 en arrière-plan 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 workflow dynamique 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 Ce qui est transféré lors de la mise en arrière-plan pour savoir quels types de travail sont transférés et lesquels Claude Code arrête.

Prompt rejeté comme trop court

L’entrée de dispatch s’attend à une description de tâche, pas à une formule conversationnelle. Un prompt de moins de quatre caractères est rejeté 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 à partir de sa conversation enregistrée. Pour reprendre le travail interrompu, envoyez-lui une réponse lui demandant de continuer.
  • Après 48 heures, par exemple après que la machine a été éteinte pendant des jours, la session s’affiche comme arrêtée avec ended while the background service was off. Appuyez sur Enter 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 Enter sur la même ligne à nouveau pour reprendre sa conversation enregistrée. Une réponse ou claude attach <id> la reprend sans ce message de pied de page.
Quand le nettoyage des transcriptions 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 prompt d’origine. Consultez This session’s saved conversation is no longer on disk. La mise en veille seule n’arrête pas les sessions. Les sessions sont préservées pendant la mise en veille 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, sauf si elle commence par ! ou /, 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

Quand vous ouvrez une session que vous avez mise en arrière-plan depuis une autre conversation et qui s’est arrêtée avant d’avoir exécuté un tour qui lui soit propre, Claude Code reprend cette conversation. Si Claude Code ne trouve pas la conversation, il refuse d’ouvrir la session :
  • claude attach affiche This session has no saved transcript.
  • La vue agent affiche Press enter again to restart this session fresh sous la liste.
Appuyez sur Enter sur la même ligne à nouveau pour redémarrer la session avec une conversation vide, ou exécutez claude respawn <id> depuis le shell. 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 superviseur 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 commande shell, depuis Enter 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.

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 d’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 nouveau processus 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 nouveau. Pour garder vos sessions en arrière-plan en cours d’exécution lors du redémarrage, passez --keep-workers :
Exécutez ensuite claude agents dans votre shell pour démarrer le nouveau superviseur. Si vous le faites dans un délai d’environ une minute après l’arrêt, il se reconnecte aux sessions toujours en cours d’exécution, et leur travail continue sans interruption. Si vous mettez plus de temps, sur macOS et Linux les sessions se sont alors arrêtées d’elles-mêmes, et l’attachement ou la réponse à l’une d’elles la redémarre à partir de sa conversation enregistrée. Sans --keep-workers, la commande termine également les sessions en arrière-plan. Le flag --any permet à la commande d’arrêter un superviseur que Claude Code a démarré à la demande. 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 nouveau 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 reparte de zéro. 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 superviseur, 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 :
Dans un délai d’environ une minute, exécutez claude agents ou claude --bg dans votre shell pour démarrer un nouveau superviseur 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 empêche un processus d’atteindre les appareils de 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 la demande de permission Réseau local de macOS pour Claude Code. Accordez-la une fois et ces commandes atteignent les hôtes LAN de la même manière que 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 nouveau processus 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 demande de permission ou une autre boîte de 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 fin 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 de saisie 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 Nettoyer les 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 :

Historique des versions

La vue agent a évolué rapidement pendant la research preview. 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 flags qu’il ne prend pas encore en charge avec une erreur unknown option. Le tableau ci-dessous répertorie quand chaque flag et comportement a été ajouté.