Passer au contenu principal
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

Ce guide présente la boucle principale de la vue des agents : lancer une tâche, suivre la mise à jour de sa ligne pendant que Claude travaille, jeter un coup d’œil pour vérifier son avancement et répondre, puis vous attacher pour accéder à la conversation complète. La session que vous lancez continue de s’exécuter après la fermeture de la vue des agents, vous pouvez donc la quitter et y revenir.
1

Ouvrir la vue des agents

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 l’ouverture de la vue des agents ; il s’agit de la même boîte de dialogue que celle affichée par claude. Acceptez pour enregistrer la confiance pour l’espace de travail et continuer. Si vous refusez, Claude Code se ferme sans ouvrir la vue des agents.La vue des agents s’ouvre avec un champ de saisie en bas et un tableau qui se remplit à mesure que les sessions démarrent. Appuyez sur Esc pour revenir à votre shell ; si vous avez ouvert la vue des agents en mettant une session en arrière-plan avec ←, Esc vous ramène plutôt à cette conversation. Vos sessions continuent de s’exécuter pendant votre absence et réapparaissent la prochaine fois que vous ouvrez la vue des agents.
2

Lancer une session

Saisissez un prompt décrivant une tâche et appuyez sur Enter. Une nouvelle session en arrière-plan démarre sur cette tâche et apparaît sous forme de ligne indiquant si elle est en cours, en attente de votre intervention ou terminée. La nouvelle session utilise le modèle affiché dans l’en-tête de la vue des agents. Le mode de permission dans lequel elle démarre dépend de la façon dont vous avez ouvert la vue des agents.Chaque prompt que vous saisissez ici démarre sa propre nouvelle session. Saisir un autre prompt et appuyer sur Enter lance une deuxième session à côté de la première, au lieu de lui envoyer un message de suivi. Vous pouvez ainsi en exécuter plusieurs en parallèle.Chaque session consomme le quota de votre abonnement de manière indépendante ; consultez donc les Limitations avant d’en lancer un grand nombre à la fois.
3

Jeter un coup d'œil et répondre

Sélectionnez une ligne avec les touches fléchées et appuyez sur Space pour ouvrir le panneau d’aperçu. Il affiche la sortie la plus récente de la session, ou la question à laquelle elle attend une réponse, plutôt que la transcription complète. Saisissez une réponse et appuyez sur Enter pour l’envoyer sans quitter la vue des agents.
4

S'attacher et se détacher

Appuyez sur Enter ou → sur une ligne pour vous attacher lorsque vous souhaitez accéder à la conversation complète. La session prend alors le contrôle du terminal en tant que session Claude Code interactive complète. Appuyez sur ← sur un prompt vide pour vous détacher et revenir au tableau.
5

Intégrer 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 aucune ouverte dans ce terminal ; ouvrez donc d’abord une session claude classique dans un autre terminal et envoyez-lui un message.Pour déplacer une session déjà ouverte vers la vue des agents, exécutez /bg à l’intérieur de celle-ci, ou appuyez sur ← sur un prompt vide pour la mettre en arrière-plan et ouvrir la vue des agents en une seule étape. Dans une nouvelle session sans aucun message, /bg vous demande d’abord d’envoyer un message, tandis que ← fonctionne immédiatement. La session continue de s’exécuter et apparaît sous forme de ligne à côté de celles que vous avez lancées.
Dans une session claude classique, appuyer sur ← sur un prompt vide ouvre la vue des agents, et un indicateur ← dans le pied de page vous informe sur vos sessions en arrière-plan :
  • Indicateur : le pied de page affiche ← for agents pendant dix secondes après l’ouverture de la session. Appuyer sur ← fonctionne toujours après la disparition de l’indicateur
  • Nombre en attente : lorsque des sessions en arrière-plan attendent votre intervention, le même emplacement les comptabilise, par exemple ← 2 agents, ou ← 99+ agents lorsque plus de 99 sont en attente. Le nombre est actualisé environ toutes les dix secondes tant que le terminal a le focus, et immédiatement lorsque le focus revient
  • Nombre de sessions terminées : lorsque des sessions en arrière-plan se terminent avec succès alors qu’aucune n’attend votre intervention, le pied de page affiche brièvement combien se sont terminées, par exemple ← 2 done pour deux
Le nombre en attente change brièvement de couleur lorsqu’il augmente ou diminue, et lorsqu’une session en arrière-plan se termine avec succès. Si vous activez prefersReducedMotion, vous ne voyez ni le changement de couleur ni le nombre done. En mode lecteur d’écran, l’indicateur ← et ses compteurs sont masqués.

Ouvrir la vue des agents par défaut

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

Activer le paramètre

Dans une session claude classique, exécutez /config et activez Open agents view by default. Pour ignorer le menu, définissez directement la clé defaultToAgentsView :
2

Démarrer Claude Code

Quittez la session, puis exécutez claude sans argument :
La vue des agents s’ouvre à la place d’une nouvelle conversation.
Pour démarrer une session classique lorsque 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 classique ou dans une session à laquelle vous vous attachez depuis la vue des agents.

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é.

Coût des résumés de lignes

Le résumé de fin de tour et chaque réécriture en cours de tour sont une courte requête 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. Sur un fournisseur tiers ou une passerelle, les résumés utilisent le modèle que vous définissez dans ANTHROPIC_DEFAULT_HAIKU_MODEL. Si cette variable n’est pas définie, ils utilisent le modèle de votre fournisseur pour les tâches en arrière-plan : consultez Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry ou votre passerelle.

É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. Une ligne supplémentaire apparaît en dessous pour une session qui vous attend ou qui s’exécute en mode sans échec :
  • Une ligne comme waiting 3m : depuis combien de temps la session vous attend. L’ancienneté au bord droit de la ligne est un nombre différent : elle compte à partir du moment où la session a démarré
  • safe mode · customizations are off : cette session s’exécute avec vos personnalisations désactivées car vous l’avez démarrée depuis votre shell avec claude --bg --safe-mode. Vous pouvez la laisser telle quelle. Pour poursuivre la conversation avec vos personnalisations réactivées, exécutez claude stop <id> puis claude --resume, tous deux dans votre shell
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 sont toujours en cours d’exécution : Claude Code continue d’attendre afin que le travail des sous-agents au premier plan lancés par Claude soit conservé, et affiche Still backgrounding after the current tool. Appuyez de nouveau sur ← pour passer 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. Claude continue de travailler au premier plan.
  • 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.
Prompts envoyés pendant que la session passe en arrière-plan
Si vous saisissez un prompt ou une commande shell ! au moment où la session passe en arrière-plan, il est arrêté ou reste non envoyé :
  • Envoyé pendant la fermeture de la conversation : la réponse ou la commande s’arrête lorsque la conversation se ferme et que la vue agent s’ouvre
  • Encore en attente des hooks à ce moment : le prompt n’est pas envoyé, et rien à l’écran ne l’indique. Cela inclut un prompt que vous avez tapé pendant que les hooks SessionStart s’exécutaient encore
Dans les deux cas, le texte que vous avez tapé est conservé dans l’historique des prompts. Pour l’envoyer à nouveau, ouvrez la session mise en arrière-plan et appuyez sur ↑ dans son prompt pour récupérer le texte.

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é
  • Appuyez sur Ctrl+X pour arrêter une session et à nouveau sur Ctrl+X dans les deux secondes pour la supprimer de la liste, ou sur Esc pour ignorer la confirmation sans supprimer. 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. Dans ce cas, la confirmation reste active pendant deux secondes supplémentaires, et la suppression termine elle-même le processus de la session
Appuyer sur Ctrl+X sur un en-tête de groupe supprime chaque session de ce groupe après confirmation. 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. 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 sur votre machine locale, disponible via claude --resume. 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. 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.

Ramener une session passée

Pour ramener une session, 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. Appuyez sur Enter pour reprendre la session sélectionnée en tant que session en arrière-plan, afin qu’elle rejoigne la liste en tant que ligne. /resume échoue avec isn't available in agent view 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
Si vous avez tapé quoi que ce soit après /resume, retapez la commande sans. Si vous avez utilisé l’un de ces flags, exécutez claude agents dans votre shell sans celui-ci, puis tapez /resume seul.

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 depuis la vue des agents, envoyer ou copier une session interactive existante en arrière-plan, ou en démarrer une directement depuis le shell.

Lancer un agent depuis la vue des agents

Saisissez un prompt dans le champ en bas de la vue des agents et appuyez sur Enter pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir du prompt ; renommez-la ensuite avec Ctrl+R. Le nom automatique est un court libellé rédigé par un modèle de classe Haiku. Un nom que la session reçoit plus tard apparaît également sur sa ligne, y compris le titre généré que la session reçoit lorsque 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. Un texte collé de plus de 800 caractères ou de plus de trois lignes est réduit en un espace réservé [Pasted text #N] afin que le champ reste sur une seule ligne ; le texte complet est envoyé lorsque vous lancez la session. Pour relire ou modifier le texte réduit avant le lancement, collez à nouveau le même texte et l’espace réservé se déploie dans le champ. Préfixez ou mentionnez des parties du prompt pour contrôler la façon dont la session démarre : Un petit ensemble de commandes s’exécute dans la vue des agents elle-même au lieu de lancer une session :
  • /exit et /quit ferment la vue des agents
  • /logout vous déconnecte
  • /model, /effort et /fast définissent ce avec quoi démarrent les prochaines sessions que vous lancez. /effort et /fast nécessitent Claude Code v2.1.299 ou une version ultérieure.
  • /login ouvre la boîte de dialogue de connexion pour vous permettre de vous reconnecter 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 en tant que session en arrière-plan
Les skills, vos propres commandes et les commandes intégrées qui développent un prompt, comme /init, sont envoyés à une nouvelle session en arrière-plan comme premier prompt. L’indication isn't available in agent view signifie que la commande intégrée que vous avez saisie ne s’est pas exécutée. Pour l’exécuter, attachez-vous à une session et saisissez-la là. Tout ce que vous avez tapé reste dans le champ à côté de l’indication pour que vous puissiez le modifier. Transformer une tâche récurrente en skill vous permet de démarrer le même workflow depuis la vue des agents à plusieurs reprises sans retaper le prompt. Lorsque le même @name correspond à la fois à un sous-agent et à un dépôt voisin, le sous-agent a priorité. La correspondance sur le premier mot seul s’applique aussi, de sorte qu’un prompt qui commence par l’un de vos noms de sous-agents lance ce sous-agent au lieu de traiter le mot comme du texte ordinaire. Utilisez la forme @ lorsque vous voulez être explicite, ou commencez le prompt par un autre mot pour éviter la correspondance.

Lancer dans un répertoire spécifique

Une nouvelle session s’exécute dans le répertoire depuis lequel vous avez ouvert la vue des agents. Pour cibler un autre répertoire, 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 situés un niveau sous le répertoire de lancement
    • Les worktrees git enregistrés du dépôt depuis lequel vous avez lancé qui se trouvent dans son arborescence, 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, par exemple avec git worktree add ../feature, ne sont pas listés
    • Tout répertoire qui possède 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>".
Lorsque la vue des agents est regroupée par répertoire, le lancement envoie le prompt au répertoire de la ligne sélectionnée, ce qui vous permet de sélectionner un groupe et d’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 en cours vers l’arrière-plan : /background y envoie la conversation actuelle et libère votre terminal, et /fork y envoie une copie pendant 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 lorsque vous exécutez /bg, la réponse se poursuit dans la session en arrière-plan. Si vous quittez une session alors que certains types de travail en arrière-plan sont en cours, comme des sous-agents ou des workflows, une boîte de dialogue Background work is running vous avertit que ce travail s’arrête. Choisissez Move to background and exit pour mettre la session en arrière-plan de la même façon que /background et revenir à votre shell. L’option n’est pas affichée lorsque la vue des agents est désactivée. Si une session en arrière-plan de la liste porte déjà le nom de la conversation, Claude Code numérote le nom de la nouvelle ligne, par exemple my-session (2), et ne modifie pas le nom de la ligne existante. Pour renommer la nouvelle ligne, sélectionnez-la dans la vue des agents 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 pendant que l’originale continue de s’exécuter. La copie démarre avec tout le contenu de la conversation jusqu’à ce point ; consultez 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 les répertoires ou les autorisations « don’t ask again » que vous avez ajoutés pendant la session. La copie apparaît comme sa propre ligne dans la vue des agents. 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, mais dans les sessions où la messagerie entre sessions est activée, le Claude de chaque session peut explicitement envoyer un message à l’autre. Lorsque la vue des agents est désactivée, /fork démarre un sous-agent forké au lieu de copier la session.
Donner un prompt à la copie et ouvrir sa session
Passez un prompt comme /fork open a draft pull request with the work so far et la copie commence immédiatement à y travailler. Sans prompt, la copie attend sa première instruction : sélectionnez sa ligne dans claude agents et appuyez sur Space pour en envoyer une, ou exécutez claude attach <id>. La ligne sélectionnée affiche space to send it a prompt pendant l’attente. La confirmation de /fork tient sur une ligne indiquant l’état de la copie, par exemple session running, le nom de sa ligne dans la vue des agents 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 en appuyant sur ←, et la vue des agents ouvre la session de la copie.
Où la copie s’exécute
Sauf lorsque la copie modifie sur place, Claude Code lui demande de créer son propre worktree avant d’apporter des modifications au code. En dehors d’un dépôt git, seule une copie sortie d’un worktree créé par un hook reçoit cette instruction ; sans hook WorktreeCreate, la copie modifie sur place. Une copie sortie de votre worktree reçoit également l’instruction de ne jamais modifier ce worktree, y exécuter des commandes ou 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.
  • Lorsque votre session s’est déplacée dans son worktree lié après son démarrage, la copie redé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. Lorsque votre worktree est extrait sur une branche, cette instruction indique aussi à 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.
  • Lorsque vous avez lancé la session dans 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 dans un worktree d’une disposition de dépôt nu n’a pas d’arbre de travail principal où revenir ; la copie reste donc où elle est, et la confirmation se termine par edits this checkout. La même note apparaît lorsque 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.
Sessions qui ne peuvent pas être forkées
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 depuis la vue des agents 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 conservé lors de la mise en arrière-plan

Lorsque vous mettez la session en arrière-plan, chaque type de travail en arrière-plan en cours est soit conservé dans la session en arrière-plan, soit poursuivi uniquement lorsque Claude le relance là-bas, soit arrêté :
  • Conservé : les commandes shell en arrière-plan en cours, les sous-agents en arrière-plan, les tâches planifiées que vous avez créées avec /loop et les réponses automatiques de Claude aux commentaires sur les artefacts continuent de s’exécuter dans la session en arrière-plan. Un sous-agent se déplace avec tout ce qu’il a démarré ; il n’est donc conservé que si tout ce travail peut aussi être déplacé.
  • Poursuivi uniquement lorsque Claude le relance : un workflow dynamique en cours. Si le workflow ne s’est pas poursuivi lorsque vous consultez la session en arrière-plan, demandez à Claude de le relancer.
  • Arrêté : le travail qui ne peut pas être déplacé vers la session en arrière-plan, comme un moniteur en cours. Lorsqu’un tel travail est en cours, Claude Code affiche la boîte de dialogue Background this session? pour que vous confirmiez avant qu’il n’arrête ce travail. Un sous-agent en arrière-plan qui possède un moniteur s’arrête avec le moniteur.
Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, moniteurs 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 initial sont transmis à la session en arrière-plan, de sorte que 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 transmis. Transmettre --allow-dangerously-skip-permissions permet de garder bypassPermissions accessible dans la session 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.
Workflows dynamiques lors de la mise en arrière-plan
Si un workflow dynamique ne s’est pas poursuivi après que vous avez mis sa session en arrière-plan, demandez à Claude de relancer le workflow. L’exécution ne se poursuit que lorsque Claude la relance dans la session en arrière-plan, et Claude Code peut d’abord vous demander d’approuver cette relance. La conversation de la session affiche une notification indiquant que le workflow could not be resumed. Lorsque Claude relance le workflow, ceux de ses sous-agents qui étaient encore en cours d’exécution lorsque vous avez mis la session en arrière-plan recommencent depuis le début et consomment à nouveau leurs tokens. Si vous appuyez sur ← ou exécutez /background alors que certains sont encore en cours, la boîte de dialogue Background this session? indique leur nombre. Pour les laisser terminer d’abord, choisissez Stay.

Lancer un agent depuis 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, et non 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 depuis un terminal dans un répertoire auquel vous n’avez pas fait 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. Lorsqu’aucune boîte de dialogue ne peut apparaître, par exemple 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, en tant qu’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 tout de même la session comme mise en arrière-plan, mais la session se termine immédiatement avec une erreur --agent '<name>' not found. Lorsque la session 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, consultez 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 fait confiance à cet espace de travail, de sorte qu’un agent limité au projet se charge toujours lorsque la session est reprise depuis un autre répertoire. Si l’agent n’existe plus, la session continue avec les outils par défaut et sa transcription s’ouvre sur un avertissement nommant l’agent. Pour poursuivre une conversation existante en arrière-plan, passez son ID de session complet avec --resume :
Sur Claude Code v2.1.257 ou une version ultérieure, Claude Code poursuit cette session sous le même ID, ou démarre une copie sous un nouvel ID et affiche une ligne note: expliquant pourquoi il n’a pas pu poursuivre sur place. Lorsque la session se poursuit sur place, claude agents affiche une seule ligne pour elle. Lorsque 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 volontairement une copie, sans la note. Passez --name pour définir le nom d’affichage de la session dans la vue des agents 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. Lorsque 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. Lorsque vous passez --name, le nom apparaît après l’ID court :

Prompts contenant --bg

Un prompt qui mentionne --bg ou --background est transmis tel que saisi, tout comme une réponse --bg que vous envoyez à une session en arrière-plan. Par exemple, cette commande démarre une seule session en arrière-plan, et le second --bg fait partie de son prompt :
Claude Code ne lit un argument entier comme le flag qu’aux endroits où un flag peut figurer : avant tout séparateur -- seul et pas là où un autre flag attend sa valeur. Placez le flag en premier, comme dans claude --bg "<prompt>". Lorsque la position est ambiguë, par exemple après une suite de flags courts combinés, Claude Code ne démarre rien. Il se termine à la place avec Couldn't tell whether --bg is a flag or text here.

Exécuter une commande shell

Pour exécuter une commande shell comme tâche d’arrière-plan au lieu d’une session Claude, passez --exec. L’exemple suivant exécute pytest -x comme tâche d’arrière-plan :
Depuis la vue des agents, lancez le même type de tâche en tapant ! comme premier caractère du champ de lancement : le ! s’affiche comme préfixe, tout ce qui suit est la commande, et Enter 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 des agents, avec la dernière ligne de sortie comme statut. Une tâche shell exécute la commande à la place de Claude ; aucun modèle n’est donc invoqué et la sortie n’est envoyée à aucune session. Pour voir la sortie, attachez-vous à la ligne, appuyez sur Space 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 ; lisez-la donc avant si vous avez besoin du résultat.

Comment les modifications de fichiers sont isolées

Lorsque vous lancez une session en arrière-plan depuis la vue des agents 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 worktree git isolé sous .claude/worktrees/, de sorte que des sessions parallèles peuvent lire la même copie de travail mais que chacune écrit dans la sienne. Une fois la session dans son worktree, Claude Code applique l’isolation par worktree pour la session et pour tous les sous-agents qu’elle lance. Claude ignore le worktree lorsque :
  • Vous avez envoyé 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à dans un worktree git 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 dans un worktree git 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 fait en dehors du répertoire de travail
Pour désactiver l’isolation par worktree pour un dépôt où les worktrees git ne sont pas pratiques, définissez worktree.bgIsolation sur "none". Les sessions en arrière-plan modifient alors directement votre copie de travail sans passer d’abord 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 ; évitez donc de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un autre système de gestion de versions, configurez un hook WorktreeCreate et Claude isole les modifications de la même façon qu’avec git. Lorsque le hook échoue dans un répertoire qui n’est pas un dépôt git, Claude ignore l’isolation pour ce répertoire et modifie le répertoire de travail sur place. Dans un dépôt git, une session que Claude déplace dans un worktree avant toute modification ne peut pas utiliser les outils Edit, Write ou NotebookEdit sur la copie de travail partagée tant que ce déplacement n’a pas eu lieu. Pour trouver le chemin du worktree d’une session, attachez-vous 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 atterrissent dans ce worktree plutôt que dans votre copie de travail. Pour donner plutôt à un sous-agent son propre worktree distinct, définissez isolation: worktree dans son frontmatter ou passez isolation: "worktree" lors de son lancement. Lorsqu’une session en arrière-plan a apporté des modifications de code dans un worktree dans lequel Claude est entré, Claude Code demande à 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 lorsque le dépôt possède un remote.
  • Pull request en brouillon : Claude en ouvre une lorsque la tâche l’exige, et le libellé #N apparaît sur la ligne.
  • Jamais : pousser vers main ou master, forcer le push et fusionner.
  • Vos instructions git ont 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 gérer git.
Une session qui modifie une copie de travail qu’elle n’a pas isolée elle-même demande toujours avant de créer un commit ou de changer de branche. Cela s’applique lorsque l’isolation est définie sur "none", lorsque le déplacement vers le worktree a échoué, ou lorsque la session a démarré dans 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 la suppression d’une session supprime

Supprimez une session avec Ctrl+X deux fois dans la vue des agents 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 persiste après les redémarrages du superviseur. Ce qui arrive à un worktree que Claude a créé pour la session :
  • La vue des agents le supprime, y compris les modifications non commitées ; créez donc d’abord un commit de ce que vous voulez conserver.
  • claude rm le conserve, ainsi que la ligne de la session, lorsqu’il contient des modifications non commitées.
  • Ni la vue des agents ni claude rm ne suppriment un worktree qu’une autre session en cours utilise ou a verrouillé, et supprimer à nouveau n’y change rien. Claude Code conserve le worktree et la session, et nomme le répertoire conservé ainsi que la raison ; dans la vue des agents, la ligne de la session affiche not deleted. Fermez l’autre session, puis supprimez à nouveau.
  • Lorsque vous supprimez une session dont le worktree contient des commits dont Claude Code ne peut pas confirmer qu’ils sont sauvegardés ailleurs, Claude Code conserve le worktree et la session, et le message nomme 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 copie de travail principale, 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 des agents, 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.
    Lorsque vous supprimez à nouveau, Claude Code n’abandonne que ce que le refus a montré : si le worktree a reçu un commit depuis, Claude Code le conserve à nouveau et affiche l’état mis à jour. Lorsque les enregistrements d’une autre session terminée nomment également le worktree, celui-ci est conservé lorsque 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.
  • Lorsque git ou votre hook WorktreeRemove ne parvient pas à supprimer le worktree, Claude Code conserve le worktree et la session, et le message en nomme la cause. Pour un hook, le message indique comment il s’est terminé, par exemple exited 1, et cite le début de sa sortie stderr. Le message vous indique également laquelle de ces actions effectuer ensuite :
    • Supprimez à nouveau la session pour supprimer le répertoire malgré tout, en appuyant deux fois sur Ctrl+X sur sa ligne dans la vue des agents 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 contiennent de modifications non commitées sur des fichiers suivis
      • Aucun enregistrement d’une autre session ne le nomme
      Lorsque Claude Code ne peut pas vérifier l’état de l’extraction d’un sous-module, par exemple un sous-module remplacé par un dépôt git distinct, il ne propose pas non plus cette option.
    • Corrigez ce qui fait obstacle, par exemple en créant un commit ou en mettant de côté (stash) 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 supprimez à nouveau la session.
    • Supprimez vous-même le répertoire, puis supprimez à 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 des agents 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, refuse la suppression et conserve la session.
  • claude rm conserve la session et le worktree, et nomme la raison.
Dans les deux cas, un répertoire nommé par les enregistrements d’une autre session terminée est conservé.

Définir le modèle, l’effort et le mode rapide

Dans la vue des agents, tapez /model, /effort ou /fast dans le champ de lancement et appuyez sur Enter : les sessions que vous lancez ensuite démarrent avec ce que vous avez défini. Votre choix reste associé à cette fenêtre de vue des agents et n’est pas enregistré dans un fichier de paramètres. /effort et /fast nécessitent Claude Code v2.1.299 ou une version ultérieure, tout comme /model tapé sans rien après. Indiquez la valeur après la commande, ou tapez la commande seule pour en choisir une dans une liste :
  • Modèle : /model <name>, par exemple /model opus
  • Niveau d’effort : /effort avec low, medium, high, xhigh ou max, par exemple /effort high. Pour démarrer des sessions en ultracode, ouvrez plutôt la vue des agents depuis votre shell avec claude agents --effort ultracode ; le champ de lancement n’accepte pas /effort ultracode
  • Mode rapide : /fast on ou /fast off. La session ne démarre en mode rapide que si le mode rapide vous est accessible et que son modèle prend en charge le mode rapide. Sur un modèle qui ne le prend pas en charge, la session démarre avec le mode rapide désactivé ; utilisez donc d’abord /model pour choisir l’un des modèles prenant en charge le mode rapide. C’est l’indication sous le champ, et non l’en-tête, qui confirme si les nouvelles sessions bénéficient du mode rapide.
Pour annuler un choix, indiquez default comme valeur, par exemple /effort default. 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 seule session :
  • Depuis le shell, passez --model avec claude --bg.
  • Attachez-vous à une session en cours et exécutez /model pour changer. Un choix effectué dans le sélecteur, ou un /model <name> tapé, est enregistré comme 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 qui définit model dans son frontmatter, en commençant le prompt par son nom ou en mentionnant @name. Tant qu’un choix /model effectué dans le champ de lancement s’applique, le model du sous-agent n’est pas utilisé ; saisissez donc /model default à cet endroit. Si vous avez lancé avec claude agents --model, celui du sous-agent n’est pas utilisé non plus ; exécutez donc claude agents dans votre shell sans --model.

Mode de permission, modèle et effort

Une session en arrière-plan tire 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 lorsque le superviseur redémarre la session.

Paramètres et fournisseur

Une session en arrière-plan lit ses paramètres depuis le répertoire dans lequel elle s’exécute, comme si vous aviez démarré claude à cet endroit avec les flags de configuration qu’elle a conservés. Cela inclut les valeurs env des paramètres du projet, de sorte qu’un ANTHROPIC_MODEL ou une variable de fournisseur défini à cet endroit s’applique à chaque session en arrière-plan de ce répertoire. Une session en arrière-plan s’exécute également avec le PATH du shell depuis lequel vous l’avez lancée, de sorte 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 présente 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é depuis un shell qui exportait 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 où vous vous trouvez
  • Vous réveillez une session arrêtée dans le répertoire où vous vous trouvez en vous y attachant ou en lui répondant
  • Vous redémarrez une session dans le répertoire où vous vous trouvez avec claude respawn
Claude Code transmet une passerelle placée devant un fournisseur cloud. Si le shell depuis lequel vous lancez sélectionne le fournisseur et exporte l’endpoint de sa passerelle avec son flag de contournement de l’authentification, Claude Code transmet la paire endpoint-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 de cette session et ne l’écrit jamais sur le disque.

Mode de permission

  • Mise en arrière-plan avec /bg ou ← : Claude Code conserve le mode de permission dans lequel se trouvait la session, de sorte qu’une session que vous avez passée en acceptEdits ou auto y reste après le détachement
  • Lancée depuis 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 depuis une vue des agents ouverte avec des valeurs par défaut de lancement. Dans quel mode de permission une session démarre indique l’ordre
Pour une session que vous lancez depuis une vue des agents 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. auto et bypassPermissions ne prennent effet que depuis les paramètres gérés, un fichier --settings ou ~/.claude/settings.json. Claude Code refuse un defaultMode provenant du .claude/settings.json ou du .claude/settings.local.json du projet qui sélectionne un mode plus permissif que celui de la session dont vous venez.
  2. Le mode de permission de la session dont vous venez. Si cette session était en mode bypassPermissions, la nouvelle session peut démarrer en mode Manual à la place, avec la notification Bypass permissions was requested at launch and ignored. Cela se produit lorsque votre acceptation de l’avertissement de contournement ne figure que dans .claude/settings.local.json ou dans un fichier --settings. Continuez en mode Manual, ou ajoutez cette acceptation à ~/.claude/settings.json.
Lorsque Claude Code refuse le mode d’une source comme trop permissif, c’est la source suivante de la liste qui décide. Par exemple, si vous lancez depuis une session en mode plan dans 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. Le degré de permissivité va de plan, puis Manual et dontAsk, puis acceptEdits et auto, chacun comptant comme plus permissif que l’autre, puis bypassPermissions.

Valeurs par défaut de lancement

Pour définir des valeurs par défaut pour chaque session que vous lancez depuis la vue des agents, 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é lorsqu’un prompt de lancement n’en nomme aucun, que ce soit avec @name ou comme premier mot. Il prend par défaut la valeur du paramètre agent s’il est défini, sinon l’agent générique intégré claude. Nommer un sous-agent dans le champ de lancement remplace les deux. claude agents accepte également --dangerously-skip-permissions comme raccourci de --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 depuis la vue en mode restreint, comme si chacune était lancée avec le flag --restricted de premier niveau. Nécessite Claude Code v2.1.248 ou une version ultérieure. Les valeurs par défaut actives apparaissent dans le pied de page sous le champ 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, car 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 depuis 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 transmet, persistent tous lorsque le superviseur arrête et redémarre ultérieurement son processus. Un modèle ou un effort que vous avez modifié en cours de session avec /model ou /effort est également conservé. Si la session a tiré son effort de vos paramètres plutôt que de --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, de sorte que vous pouvez toujours exécuter claude --resume <name> pour accéder à la session. Un prompt que vous avez mis de côté 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 mis de côté. Le contenu collé dans le texte mis de côté ne survit pas au redémarrage.

Paramètres, plugins et serveurs MCP

La vue des agents accepte les mêmes flags de configuration que claude pour charger des paramètres, des plugins, des serveurs MCP et des répertoires supplémentaires. La vue des agents applique --settings, --setting-sources et --plugin-dir à elle-même et transmet chaque flag de configuration aux sessions que vous lancez depuis elle, de sorte qu’un plugin ou un serveur MCP que vous chargez de cette façon 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 des agents 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, vos sessions s’arrêtent à moins qu’un nouveau superviseur ne se connecte dans un délai d’environ une minute. Pour en démarrer un, exécutez claude agents dans votre shell. Une fois cette minute écoulée, voir Garder les sessions en cours d’exécution après l’arrêt du superviseur.
Quand le processus d’une session s’arrête ou redémarre, les commandes shell en arrière-plan et les sous-agents en arrière-plan que Claude a démarrés dedans se reportent à son processus suivant. Un workflow dynamique ne continue que lorsque Claude le relance. 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. Si vous supprimez la session, tout ce qu’elle a reporté s’arrête. 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.

Garder les sessions en cours d’exécution après l’arrêt du superviseur

Si la vue agent affiche cet avis en se fermant, aucun superviseur n’est en cours d’exécution :
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. Pour redémarrer une session à partir de sa conversation enregistrée, attachez-vous à elle ou répondez-y, comme décrit dans Les sessions s’affichent comme échouées ou arrêtées après l’arrêt.

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.

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?

Quand vous appuyez sur ← pour mettre une session en arrière-plan, une boîte de dialogue Background this session? signifie que la session a du travail en arrière-plan en cours qui s’arrêterait, serait interrompu ou continuerait de s’exécuter sans surveillance :
  • 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. Ces sous-agents s’arrêtent si vous mettez tout de même la session en arrière-plan, et la boîte de dialogue indique combien. Ils recommencent depuis le début quand Claude relance le workflow dans la session en arrière-plan.
  • 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.

La conversation indique qu’un agent en arrière-plan was carried into this session and not resumed

Cet avis nomme un sous-agent en arrière-plan qui ne s’exécute pas dans cette session. Claude voit l’avis et répond de lui-même, vous n’avez donc pas besoin de le lui demander. Si vous avez toujours besoin du travail de ce sous-agent après avoir lu la réponse de Claude, demandez-le à Claude.

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 un nouveau superviseur. Sur macOS et Linux, faites-le dans un délai d’environ une minute après l’arrêt de l’ancien, sinon les sessions s’arrêtent sans superviseur. Si vous avez vu stopped mais que la même erreur revient, et que vous êtes sur macOS ou Linux avec une version de Claude Code antérieure à v2.1.300, exécutez claude update, puis les deux commandes à nouveau. Si la commande d’arrêt a plutôt affiché l’un de ces quatre messages, l’ancien processus n’a pas été arrêté. Faites ce qu’indique la ligne correspondante dans votre shell, puis exécutez claude agents :

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.

Une session en arrière-plan affiche No LLM gateway

Si une session en arrière-plan affiche No LLM gateway, elle n’a pas reçu le ANTHROPIC_BASE_URL de votre passerelle, donc ses requêtes échouent. Claude Code l’a retenu parce que vous avez dispatché, réveillé ou redémarré la session depuis un répertoire autre que le dossier que nomme le message. Vous voyez ce message, par exemple, après avoir dispatché dans un dépôt avec @<repo> ou réveillé une session arrêtée en exécutant claude attach depuis un autre répertoire. Pour donner votre passerelle à la session, choisissez le correctif qui correspond à l’endroit où votre passerelle est définie :
  • Vous avez exporté la passerelle dans votre terminal : dans un terminal où vous avez exporté les variables de la passerelle, faites cd vers le dossier que nomme le message et exécutez la commande claude respawn <id> du message.
  • Vous avez utilisé la vue agent dans un projet dont les paramètres définissent la passerelle : placez ANTHROPIC_BASE_URL et son identifiant d’authentification dans le bloc env d’un fichier de paramètres. Utilisez ~/.claude/settings.json, ou .claude/settings.local.json dans le propre projet de la session, que lit tous deux une session relancée. Exécutez ensuite claude respawn <id> dans votre shell depuis n’importe quel répertoire pour redémarrer cette session sur la passerelle.

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. Dans l’une ou l’autre liste, recherchez une entrée nommée Claude Code, ou une entrée portant le chemin ou le nom de fichier du binaire claude. Ce nom de fichier peut être un numéro de version tel que 2.1.316. Si Operation not permitted réapparaît après une mise à jour de Claude Code, recherchez une nouvelle entrée, par exemple une entrée portant le nom de la nouvelle version. Si elle existe, accordez-lui l’accès.

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é.