Passer au contenu principal
Cette page couvre les flux de travail pratiques pour le développement quotidien : explorer du code inconnu, déboguer, refactoriser, écrire des tests, créer des PR et gérer les sessions. Chaque section inclut des exemples de prompts que vous pouvez adapter à vos propres projets. Pour des modèles et des conseils de plus haut niveau, consultez Bonnes pratiques.

Comprendre les nouvelles bases de code

Obtenir un aperçu rapide de la base de code

Supposons que vous venez de rejoindre un nouveau projet et que vous devez comprendre rapidement sa structure.
1

Accédez au répertoire racine du projet

cd /path/to/project 
2

Démarrez Claude Code

claude 
3

Demandez un aperçu de haut niveau

give me an overview of this codebase
4

Approfondissez les composants spécifiques

explain the main architecture patterns used here
what are the key data models?
how is authentication handled?
Conseils :
  • Commencez par des questions larges, puis réduisez à des domaines spécifiques
  • Posez des questions sur les conventions de codage et les modèles utilisés dans le projet
  • Demandez un glossaire des termes spécifiques au projet

Trouver du code pertinent

Supposons que vous ayez besoin de localiser du code lié à une fonctionnalité ou une capacité spécifique.
1

Demandez à Claude de trouver les fichiers pertinents

find the files that handle user authentication
2

Obtenez du contexte sur la façon dont les composants interagissent

how do these authentication files work together?
3

Comprenez le flux d'exécution

trace the login process from front-end to database
Conseils :
  • Soyez spécifique sur ce que vous recherchez
  • Utilisez le langage du domaine du projet
  • Installez un plugin d’intelligence de code pour votre langage afin de donner à Claude une navigation précise ’ aller à la définition ’ et ’ trouver les références ‘

Corriger les bogues efficacement

Supposons que vous ayez rencontré un message d’erreur et que vous ayez besoin de trouver et de corriger sa source.
1

Partagez l'erreur avec Claude

I'm seeing an error when I run npm test
2

Demandez des recommandations de correction

suggest a few ways to fix the @ts-ignore in user.ts
3

Appliquez la correction

update user.ts to add the null check you suggested
Conseils :
  • Dites à Claude la commande pour reproduire le problème et obtenir une trace de pile
  • Mentionnez les étapes pour reproduire l’erreur
  • Faites savoir à Claude si l’erreur est intermittente ou cohérente

Refactoriser le code

Supposons que vous ayez besoin de mettre à jour du code ancien pour utiliser des modèles et des pratiques modernes.
1

Identifiez le code hérité pour la refactorisation

find deprecated API usage in our codebase
2

Obtenez des recommandations de refactorisation

suggest how to refactor utils.js to use modern JavaScript features
3

Appliquez les modifications en toute sécurité

refactor utils.js to use ES2024 features while maintaining the same behavior
4

Vérifiez la refactorisation

run tests for the refactored code
Conseils :
  • Demandez à Claude d’expliquer les avantages de l’approche moderne
  • Demandez que les modifications maintiennent la compatibilité rétroactive si nécessaire
  • Effectuez la refactorisation par petits incréments testables

Utiliser des subagents spécialisés

Supposons que vous souhaitiez utiliser des subagents IA spécialisés pour gérer des tâches spécifiques plus efficacement.
1

Afficher les subagents disponibles

/agents
Cela affiche tous les subagents disponibles et vous permet d’en créer de nouveaux.
2

Utiliser les subagents automatiquement

Claude Code délègue automatiquement les tâches appropriées aux subagents spécialisés :
review my recent code changes for security issues
run all tests and fix any failures
3

Demander explicitement des subagents spécifiques

use the code-reviewer subagent to check the auth module
have the debugger subagent investigate why users can't log in
4

Créer des subagents personnalisés pour votre flux de travail

/agents
Sélectionnez ensuite « Créer un nouveau subagent » et suivez les invites pour définir :
  • Un identifiant unique qui décrit l’objectif du subagent (par exemple, code-reviewer, api-designer).
  • Quand Claude doit utiliser cet agent
  • Quels outils il peut accéder
  • Une invite système décrivant le rôle et le comportement de l’agent
Conseils :
  • Créez des subagents spécifiques au projet dans .claude/agents/ pour le partage en équipe
  • Utilisez des champs description descriptifs pour activer la délégation automatique
  • Limitez l’accès aux outils à ce dont chaque subagent a réellement besoin
  • Consultez la documentation des subagents pour des exemples détaillés

Utiliser le Plan Mode pour une analyse de code sûre

Plan Mode demande à Claude de créer un plan en analysant la base de code avec des opérations en lecture seule, parfait pour explorer les bases de code, planifier des modifications complexes ou examiner le code en toute sécurité. En Plan Mode, Claude utilise AskUserQuestion pour recueillir les exigences et clarifier vos objectifs avant de proposer un plan.

Quand utiliser Plan Mode

  • Implémentation multi-étapes : Quand votre fonctionnalité nécessite de faire des modifications à de nombreux fichiers
  • Exploration de code : Quand vous souhaitez rechercher la base de code en profondeur avant de modifier quoi que ce soit
  • Développement interactif : Quand vous souhaitez itérer sur la direction avec Claude

Comment utiliser Plan Mode

Activez Plan Mode pendant une session Vous pouvez basculer en Plan Mode pendant une session en utilisant Maj+Tab pour parcourir les modes de permission. Si vous êtes en Mode Normal, Maj+Tab bascule d’abord en Mode Auto-Accept, indiqué par ⏵⏵ accept edits on en bas du terminal. Un Maj+Tab ultérieur basculera en Plan Mode, indiqué par ⏸ plan mode on. Démarrez une nouvelle session en Plan Mode Pour démarrer une nouvelle session en Plan Mode, utilisez le drapeau --permission-mode plan :
claude --permission-mode plan
Exécutez des requêtes « headless » en Plan Mode Vous pouvez également exécuter une requête en Plan Mode directement avec -p (c’est-à-dire en « mode headless ») :
claude --permission-mode plan -p "Analyze the authentication system and suggest improvements"

Exemple : Planifier une refactorisation complexe

claude --permission-mode plan
I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.
Claude analyse l’implémentation actuelle et crée un plan complet. Affinez avec des suites :
What about backward compatibility?
How should we handle database migration?
Appuyez sur Ctrl+G pour ouvrir le plan dans votre éditeur de texte par défaut, où vous pouvez le modifier directement avant que Claude ne procède.
Lorsque vous acceptez un plan, Claude nomme automatiquement la session à partir du contenu du plan. Le nom apparaît sur la barre de prompt et dans le sélecteur de session. Si vous avez déjà défini un nom avec --name ou /rename, accepter un plan ne le remplacera pas.

Configurer Plan Mode par défaut

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}
Consultez la documentation des paramètres pour plus d’options de configuration.

Travailler avec les tests

Supposons que vous ayez besoin d’ajouter des tests pour du code non couvert.
1

Identifiez le code non testé

find functions in NotificationsService.swift that are not covered by tests
2

Générez l'échafaudage des tests

add tests for the notification service
3

Ajoutez des cas de test significatifs

add test cases for edge conditions in the notification service
4

Exécutez et vérifiez les tests

run the new tests and fix any failures
Claude peut générer des tests qui suivent les modèles et conventions existants de votre projet. Lorsque vous demandez des tests, soyez spécifique sur le comportement que vous souhaitez vérifier. Claude examine vos fichiers de test existants pour correspondre au style, aux frameworks et aux modèles d’assertion déjà en usage. Pour une couverture complète, demandez à Claude d’identifier les cas limites que vous auriez pu manquer. Claude peut analyser vos chemins de code et suggérer des tests pour les conditions d’erreur, les valeurs limites et les entrées inattendues qui sont faciles à oublier.

Créer des demandes de tirage

Vous pouvez créer des demandes de tirage en demandant directement à Claude (« créer une pr pour mes modifications »), ou guider Claude à travers cela étape par étape :
1

Résumez vos modifications

summarize the changes I've made to the authentication module
2

Générez une demande de tirage

create a pr
3

Examinez et affinez

enhance the PR description with more context about the security improvements
Lorsque vous créez une PR en utilisant gh pr create, la session est automatiquement liée à cette PR. Vous pouvez la reprendre plus tard avec claude --from-pr <number>.
Examinez la PR générée par Claude avant de la soumettre et demandez à Claude de mettre en évidence les risques ou considérations potentiels.

Gérer la documentation

Supposons que vous ayez besoin d’ajouter ou de mettre à jour la documentation de votre code.
1

Identifiez le code non documenté

find functions without proper JSDoc comments in the auth module
2

Générez la documentation

add JSDoc comments to the undocumented functions in auth.js
3

Examinez et améliorez

improve the generated documentation with more context and examples
4

Vérifiez la documentation

check if the documentation follows our project standards
Conseils :
  • Spécifiez le style de documentation que vous souhaitez (JSDoc, docstrings, etc.)
  • Demandez des exemples dans la documentation
  • Demandez la documentation pour les API publiques, les interfaces et la logique complexe

Travailler dans les notes et les dossiers non-code

Claude Code fonctionne dans n’importe quel répertoire. Exécutez-le à l’intérieur d’un coffre-fort de notes, d’un dossier de documentation ou de toute collection de fichiers markdown pour rechercher, modifier et réorganiser le contenu de la même manière que vous le feriez pour du code. Le répertoire .claude/ et CLAUDE.md se trouvent aux côtés des répertoires de configuration d’autres outils sans conflit. Claude lit les fichiers à nouveau à chaque appel d’outil, il voit donc les modifications que vous apportez dans une autre application la prochaine fois qu’il lit ce fichier.

Travailler avec les images

Supposons que vous ayez besoin de travailler avec des images dans votre base de code et que vous souhaitiez l’aide de Claude pour analyser le contenu des images.
1

Ajoutez une image à la conversation

Vous pouvez utiliser l’une de ces méthodes :
  1. Glissez-déposez une image dans la fenêtre Claude Code
  2. Copiez une image et collez-la dans l’interface CLI avec ctrl+v (N’utilisez pas cmd+v)
  3. Fournissez un chemin d’image à Claude. Par exemple, « Analyser cette image : /path/to/your/image.png »
2

Demandez à Claude d'analyser l'image

What does this image show?
Describe the UI elements in this screenshot
Are there any problematic elements in this diagram?
3

Utilisez les images pour le contexte

Here's a screenshot of the error. What's causing it?
This is our current database schema. How should we modify it for the new feature?
4

Obtenez des suggestions de code à partir du contenu visuel

Generate CSS to match this design mockup
What HTML structure would recreate this component?
Conseils :
  • Utilisez les images quand les descriptions textuelles seraient peu claires ou fastidieuses
  • Incluez des captures d’écran d’erreurs, de conceptions d’interface utilisateur ou de diagrammes pour un meilleur contexte
  • Vous pouvez travailler avec plusieurs images dans une conversation
  • L’analyse d’images fonctionne avec les diagrammes, les captures d’écran, les maquettes et bien d’autres
  • Quand Claude référence des images (par exemple, [Image #1]), Cmd+Click (Mac) ou Ctrl+Click (Windows/Linux) le lien pour ouvrir l’image dans votre visionneuse par défaut

Référencer les fichiers et répertoires

Utilisez @ pour inclure rapidement des fichiers ou des répertoires sans attendre que Claude les lise.
1

Référencez un seul fichier

Explain the logic in @src/utils/auth.js
Cela inclut le contenu complet du fichier dans la conversation.
2

Référencez un répertoire

What's the structure of @src/components?
Cela fournit une liste de répertoires avec les informations de fichier.
3

Référencez les ressources MCP

Show me the data from @github:repos/owner/repo/issues
Cela récupère les données des serveurs MCP connectés en utilisant le format @server:resource. Consultez Ressources MCP pour plus de détails.
Conseils :
  • Les chemins de fichiers peuvent être relatifs ou absolus
  • Les références de fichiers @ ajoutent CLAUDE.md dans le répertoire du fichier et les répertoires parents au contexte
  • Les références de répertoires affichent les listes de fichiers, pas les contenus
  • Vous pouvez référencer plusieurs fichiers dans un seul message (par exemple, « @file1.js et @file2.js »)

Utiliser la réflexion étendue (mode de réflexion)

La réflexion étendue est activée par défaut, donnant à Claude l’espace pour raisonner à travers des problèmes complexes étape par étape avant de répondre. Ce raisonnement est visible en mode verbeux, que vous pouvez activer avec Ctrl+O. Pendant la réflexion étendue, des indices de progression apparaissent sous l’indicateur pour montrer que Claude travaille activement. De plus, les modèles qui prennent en charge l’effort utilisent le raisonnement adaptatif : au lieu d’un budget de jetons de réflexion fixe, le modèle décide dynamiquement s’il faut penser et combien en fonction de votre paramètre de niveau d’effort et de la tâche à accomplir. Le raisonnement adaptatif permet à Claude de répondre plus rapidement aux prompts de routine et de réserver une réflexion plus profonde pour les étapes qui en bénéficient. La réflexion étendue est particulièrement précieuse pour les décisions architecturales complexes, les bogues difficiles, la planification de l’implémentation multi-étapes et l’évaluation des compromis entre différentes approches.
Les phrases comme « think », « think hard » et « think more » sont interprétées comme des instructions de prompt régulières et n’allouent pas de jetons de réflexion.

Configurer le mode de réflexion

La réflexion est activée par défaut, mais vous pouvez l’ajuster ou la désactiver.
PortéeComment configurerDétails
Niveau d’effortExécutez /effort, ajustez dans /model, ou définissez CLAUDE_CODE_EFFORT_LEVELContrôlez la profondeur de la réflexion sur les modèles pris en charge
Mot-clé ultrathinkIncluez « ultrathink » n’importe où dans votre promptAjoute une instruction en contexte indiquant au modèle de raisonner davantage sur ce tour. Ne change pas le niveau d’effort lui-même ; consultez Ajuster le niveau d’effort pour cela
Raccourci de basculementAppuyez sur Option+T (macOS) ou Alt+T (Windows/Linux)Basculez la réflexion activée/désactivée pour la session actuelle (tous les modèles). Peut nécessiter une configuration du terminal pour activer les raccourcis de la touche Option
Défaut globalUtilisez /config pour basculer le mode de réflexionDéfinit votre défaut sur tous les projets (tous les modèles).
Enregistré comme alwaysThinkingEnabled dans ~/.claude/settings.json
Limiter le budget de jetonsDéfinissez la variable d’environnement MAX_THINKING_TOKENSLimitez le budget de réflexion à un nombre spécifique de jetons. Sur les modèles avec raisonnement adaptatif, seul 0 s’applique sauf si le raisonnement adaptatif est désactivé. Exemple : export MAX_THINKING_TOKENS=10000
Pour afficher le processus de réflexion de Claude, appuyez sur Ctrl+O pour basculer le mode verbeux et voir le raisonnement interne affiché en texte gris italique.

Comment fonctionne la réflexion étendue

La réflexion étendue contrôle la quantité de raisonnement interne que Claude effectue avant de répondre. Plus de réflexion fournit plus d’espace pour explorer les solutions, analyser les cas limites et corriger les erreurs. Sur les modèles qui prennent en charge l’effort, la réflexion utilise le raisonnement adaptatif : le modèle alloue dynamiquement les jetons de réflexion en fonction du niveau d’effort que vous sélectionnez. C’est la façon recommandée d’ajuster le compromis entre la vitesse et la profondeur du raisonnement. Si vous souhaitez que Claude pense plus ou moins souvent que votre niveau d’effort ne le produirait autrement, vous pouvez également le dire directement dans votre prompt ou dans CLAUDE.md. Avec les modèles plus anciens, la réflexion utilise un budget fixe de jetons tiré de votre allocation de sortie. Le budget varie selon le modèle ; consultez MAX_THINKING_TOKENS pour les plafonds par modèle. Vous pouvez limiter le budget avec cette variable d’environnement, ou désactiver complètement la réflexion via /config ou le basculement Option+T/Alt+T. Sur les modèles avec raisonnement adaptatif, MAX_THINKING_TOKENS ne s’applique que lorsqu’il est défini à 0 pour désactiver la réflexion, ou lorsque CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 revient à ces modèles au budget fixe. CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING s’applique à Opus 4.6 et Sonnet 4.6 uniquement. Opus 4.7 utilise toujours le raisonnement adaptatif et ne prend pas en charge un budget de réflexion fixe. Consultez variables d’environnement.
Vous êtes facturé pour tous les jetons de réflexion utilisés, même si les résumés de réflexion sont redactés. En mode interactif, la réflexion apparaît comme un stub réduit par défaut. Définissez showThinkingSummaries: true dans settings.json pour afficher les résumés complets.

Reprendre les conversations précédentes

Lors du démarrage de Claude Code, vous pouvez reprendre une session précédente :
  • claude --continue continue la conversation la plus récente dans le répertoire actuel
  • claude --resume ouvre un sélecteur de conversation ou reprend par nom
  • claude --from-pr 123 reprend les sessions liées à une demande de tirage spécifique
À partir d’une session active, utilisez /resume pour basculer vers une conversation différente. Les sessions sont stockées par répertoire de projet. Par défaut, le sélecteur /resume affiche les sessions interactives du même référentiel git, y compris les worktrees. Les sessions créées par claude -p ou les invocations SDK n’apparaissent pas dans le sélecteur, mais vous pouvez toujours en reprendre une en passant son ID de session directement à claude --resume <session-id>. Lorsque vous sélectionnez une session à partir d’un autre worktree du même référentiel, Claude Code la reprend directement sans vous obliger à d’abord basculer les répertoires. La sélection d’une session à partir d’un projet non lié copie une commande cd et de reprise dans votre presse-papiers à la place. La reprise par nom se résout dans le référentiel actuel et ses worktrees. À la fois claude --resume <name> et /resume <name> recherchent une correspondance exacte et la reprennent directement, même si la session se trouve dans un worktree différent. Lorsque le nom est ambigu, claude --resume <name> ouvre le sélecteur avec le nom pré-rempli comme terme de recherche. /resume <name> à partir d’une session signale une erreur à la place, donc exécutez /resume sans argument pour ouvrir le sélecteur et choisir. Les sessions créées par claude -p ou les invocations SDK n’apparaissent pas dans le sélecteur, mais vous pouvez toujours en reprendre une en passant son ID de session directement à claude --resume <session-id>.

Nommez vos sessions

Donnez aux sessions des noms descriptifs pour les trouver plus tard. C’est une bonne pratique lorsque vous travaillez sur plusieurs tâches ou fonctionnalités.
1

Nommez la session au démarrage

Nommez une session au démarrage avec -n :
claude -n auth-refactor
Ou utilisez /rename pendant une session, qui affiche également le nom sur la barre de prompt :
/rename auth-refactor
Vous pouvez également renommer n’importe quelle session à partir du sélecteur : exécutez /resume, accédez à une session et appuyez sur Ctrl+R.
2

Reprenez par nom plus tard

À partir de la ligne de commande :
claude --resume auth-refactor
Ou à partir d’une session active :
/resume auth-refactor

Utilisez le sélecteur de session

La commande /resume (ou claude --resume sans arguments) ouvre un sélecteur de session interactif avec ces fonctionnalités : Raccourcis clavier dans le sélecteur :
RaccourciAction
/ Naviguer entre les sessions
/ Développer ou réduire les sessions groupées
EntréeSélectionner et reprendre la session en surbrillance
EspaceAperçu du contenu de la session. Ctrl+V fonctionne également sur les terminaux qui ne le capturent pas comme collage
Ctrl+RRenommer la session en surbrillance
/ ou tout caractère imprimable autre que EspaceEntrer en mode de recherche et filtrer les sessions
Ctrl+AAfficher les sessions de tous les projets sur cette machine. Appuyez à nouveau pour restaurer le référentiel actuel
Ctrl+WAfficher les sessions de tous les worktrees du référentiel actuel. Appuyez à nouveau pour restaurer le worktree actuel. Affiché uniquement dans les référentiels multi-worktrees
Ctrl+BFiltrer les sessions de votre branche git actuelle. Appuyez à nouveau pour afficher les sessions de toutes les branches
ÉchapQuitter le sélecteur ou le mode de recherche
Organisation des sessions : Le sélecteur affiche les sessions avec des métadonnées utiles :
  • Nom de la session s’il est défini, sinon le résumé de la conversation ou le premier prompt utilisateur
  • Temps écoulé depuis la dernière activité
  • Nombre de messages
  • Branche Git (le cas échéant)
  • Chemin du projet, affiché après élargissement à tous les projets avec Ctrl+A
Les sessions bifurquées (créées avec /branch, /rewind, ou --fork-session) sont groupées ensemble sous leur session racine, ce qui facilite la recherche de conversations connexes.
Conseils :
  • Nommez les sessions tôt : Utilisez /rename au démarrage du travail sur une tâche distincte — il est beaucoup plus facile de trouver « payment-integration » que « explain this function » plus tard
  • Utilisez --continue pour un accès rapide à votre conversation la plus récente dans le répertoire actuel
  • Utilisez --resume session-name quand vous savez quelle session vous avez besoin
  • Utilisez --resume (sans nom) quand vous avez besoin de parcourir et de sélectionner
  • Pour les scripts, utilisez claude --continue --print "prompt" pour reprendre en mode non interactif
  • Appuyez sur Espace dans le sélecteur pour prévisualiser une session avant de la reprendre
  • La conversation reprise démarre avec le même modèle et la même configuration que l’original
Comment cela fonctionne :
  1. Stockage des conversations : Toutes les conversations sont automatiquement enregistrées localement avec leur historique complet des messages
  2. Désérialisation des messages : Lors de la reprise, l’historique complet des messages est restauré pour maintenir le contexte
  3. État des outils : L’utilisation des outils et les résultats de la conversation précédente sont préservés
  4. Restauration du contexte : La conversation reprend avec tout le contexte précédent intact

Exécuter des sessions Claude Code parallèles avec Git worktrees

Lorsque vous travaillez sur plusieurs tâches à la fois, vous avez besoin que chaque session Claude ait sa propre copie de la base de code afin que les modifications ne se heurtent pas. Les worktrees Git résolvent ce problème en créant des répertoires de travail séparés qui ont chacun leurs propres fichiers et branche, tout en partageant le même historique de référentiel et les mêmes connexions distantes. Cela signifie que vous pouvez avoir Claude travaillant sur une fonctionnalité dans un worktree tout en corrigeant un bogue dans un autre, sans que l’une ou l’autre session n’interfère avec l’autre. Utilisez le drapeau --worktree (-w) pour créer un worktree isolé et démarrer Claude dedans. La valeur que vous transmettez devient le nom du répertoire worktree et le nom de la branche :
# Démarrez Claude dans un worktree nommé « feature-auth »
# Crée .claude/worktrees/feature-auth/ avec une nouvelle branche
claude --worktree feature-auth

# Démarrez une autre session dans un worktree séparé
claude --worktree bugfix-123
Si vous omettez le nom, Claude en génère un automatiquement :
# Génère automatiquement un nom comme « bright-running-fox »
claude --worktree
Les worktrees sont créés à <repo>/.claude/worktrees/<name> et se ramifient à partir de la branche distante par défaut, qui est celle vers laquelle origin/HEAD pointe. La branche worktree est nommée worktree-<name>. La branche de base n’est pas configurable via un drapeau ou un paramètre Claude Code. origin/HEAD est une référence stockée dans votre répertoire .git local que Git a définie une fois lorsque vous avez cloné. Si la branche par défaut du référentiel change plus tard sur GitHub ou GitLab, votre origin/HEAD local continue de pointer vers l’ancienne, et les worktrees se ramifieront à partir de là. Pour resynchroniser votre référence locale avec ce que le distant considère actuellement comme son défaut :
git remote set-head origin -a
C’est une commande Git standard qui met à jour uniquement votre répertoire .git local. Rien sur le serveur distant ne change. Si vous souhaitez que les worktrees se basent sur une branche spécifique plutôt que sur le défaut du distant, définissez-le explicitement avec git remote set-head origin your-branch-name. Pour un contrôle total sur la façon dont les worktrees sont créés, y compris le choix d’une base différente par invocation, configurez un hook WorktreeCreate. Le hook remplace complètement la logique git worktree par défaut de Claude Code, afin que vous puissiez récupérer et vous ramifier à partir de la ref dont vous avez besoin. Vous pouvez également demander à Claude de « travailler dans un worktree » ou « démarrer un worktree » pendant une session, et il en créera un automatiquement.

Worktrees des subagents

Les subagents peuvent également utiliser l’isolation worktree pour travailler en parallèle sans conflits. Demandez à Claude d’« utiliser les worktrees pour vos agents » ou configurez-le dans un subagent personnalisé en ajoutant isolation: worktree au frontmatter de l’agent. Chaque subagent obtient son propre worktree qui est automatiquement nettoyé quand le subagent se termine sans modifications.

Nettoyage des worktrees

Lorsque vous quittez une session worktree, Claude gère le nettoyage en fonction de si vous avez apporté des modifications :
  • Pas de modifications : le worktree et sa branche sont supprimés automatiquement
  • Les modifications ou les commits existent : Claude vous demande de conserver ou de supprimer le worktree. La conservation préserve le répertoire et la branche afin que vous puissiez revenir plus tard. La suppression supprime le répertoire worktree et sa branche, en supprimant toutes les modifications non validées et les commits
Les worktrees des subagents orphelins causés par un crash ou une exécution parallèle interrompue sont supprimés automatiquement au démarrage une fois qu’ils sont plus anciens que votre paramètre cleanupPeriodDays, à condition qu’ils n’aient pas de modifications non validées, pas de fichiers non suivis et pas de commits non poussés. Les worktrees que vous créez avec --worktree ne sont jamais supprimés par ce balayage. Pour nettoyer les worktrees en dehors d’une session Claude, utilisez la gestion manuelle des worktrees.
Ajoutez .claude/worktrees/ à votre .gitignore pour empêcher le contenu des worktrees d’apparaître comme des fichiers non suivis dans votre référentiel principal.

Copier les fichiers ignorés par git vers les worktrees

Les worktrees Git sont des checkouts frais, donc ils n’incluent pas les fichiers non suivis comme .env ou .env.local de votre référentiel principal. Pour copier automatiquement ces fichiers lorsque Claude crée un worktree, ajoutez un fichier .worktreeinclude à la racine de votre projet. Le fichier utilise la syntaxe .gitignore pour lister les fichiers à copier. Seuls les fichiers qui correspondent à un modèle et qui sont également ignorés par git sont copiés, donc les fichiers suivis ne sont jamais dupliqués.
.worktreeinclude
.env
.env.local
config/secrets.json
Cela s’applique aux worktrees créés avec --worktree, aux worktrees des subagents et aux sessions parallèles dans l’application de bureau.

Gérer les worktrees manuellement

Pour plus de contrôle sur l’emplacement du worktree et la configuration de la branche, créez des worktrees directement avec Git. C’est utile quand vous avez besoin de vérifier une branche existante spécifique ou de placer le worktree en dehors du référentiel.
# Créez un worktree avec une nouvelle branche
git worktree add ../project-feature-a -b feature-a

# Créez un worktree avec une branche existante
git worktree add ../project-bugfix bugfix-123

# Démarrez Claude dans le worktree
cd ../project-feature-a && claude

# Nettoyez quand vous avez terminé
git worktree list
git worktree remove ../project-feature-a
En savoir plus dans la documentation officielle de Git worktree.
N’oubliez pas d’initialiser votre environnement de développement dans chaque nouveau worktree selon la configuration de votre projet. Selon votre pile, cela peut inclure l’exécution de l’installation des dépendances (npm install, yarn), la configuration des environnements virtuels ou le suivi du processus de configuration standard de votre projet.

Contrôle de version non-git

L’isolation worktree fonctionne avec git par défaut. Pour d’autres systèmes de contrôle de version comme SVN, Perforce ou Mercurial, configurez les hooks WorktreeCreate et WorktreeRemove pour fournir une logique personnalisée de création et de nettoyage des worktrees. Lorsqu’ils sont configurés, ces hooks remplacent le comportement git par défaut lorsque vous utilisez --worktree, donc .worktreeinclude n’est pas traité. Copiez les fichiers de configuration locaux à l’intérieur de votre script de hook à la place. Pour la coordination automatisée des sessions parallèles avec des tâches partagées et la messagerie, consultez équipes d’agents.

Recevez une notification quand Claude a besoin de votre attention

Lorsque vous lancez une tâche longue et que vous basculez vers une autre fenêtre, vous pouvez configurer des notifications de bureau afin de savoir quand Claude se termine ou a besoin de votre entrée. Cela utilise l’événement de hook Notification , qui se déclenche chaque fois que Claude attend une permission, est inactif et prêt pour un nouveau prompt, ou complète l’authentification.
1

Ajoutez le hook à vos paramètres

Ouvrez ~/.claude/settings.json et ajoutez un hook Notification qui appelle la commande de notification native de votre plateforme :
{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude Code needs your attention\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}
Si votre fichier de paramètres a déjà une clé hooks, fusionnez l’entrée Notification dedans plutôt que de la remplacer. Vous pouvez également demander à Claude d’écrire le hook pour vous en décrivant ce que vous voulez dans l’interface CLI.
2

Affinez éventuellement le matcher

Par défaut, le hook se déclenche sur tous les types de notifications. Pour se déclencher uniquement pour des événements spécifiques, définissez le champ matcher sur l’une de ces valeurs :
MatcherSe déclenche quand
permission_promptClaude a besoin que vous approuviez une utilisation d’outil
idle_promptClaude a terminé et attend votre prochain prompt
auth_successL’authentification se termine
elicitation_dialogClaude vous pose une question
3

Vérifiez le hook

Tapez /hooks et sélectionnez Notification pour confirmer que le hook apparaît. Le sélectionner affiche la commande qui s’exécutera. Pour le tester de bout en bout, demandez à Claude d’exécuter une commande qui nécessite une permission et éloignez-vous du terminal, ou demandez à Claude de déclencher une notification directement.
Pour le schéma d’événement complet et les types de notifications, consultez la référence Notification.

Utiliser Claude comme un utilitaire de style unix

Ajoutez Claude à votre processus de vérification

Supposons que vous souhaitiez utiliser Claude Code comme linter ou examinateur de code. Ajoutez Claude à votre script de construction :
// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
    }
}
Conseils :
  • Utilisez Claude pour l’examen automatisé du code dans votre pipeline CI/CD
  • Personnalisez le prompt pour vérifier les problèmes spécifiques pertinents pour votre projet
  • Envisagez de créer plusieurs scripts pour différents types de vérification

Tuyau entrant, tuyau sortant

Supposons que vous souhaitiez canaliser les données dans Claude et récupérer les données dans un format structuré. Canalisez les données via Claude :
cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt
Conseils :
  • Utilisez les tuyaux pour intégrer Claude dans les scripts shell existants
  • Combinez avec d’autres outils Unix pour des flux de travail puissants
  • Envisagez d’utiliser --output-format pour une sortie structurée

Contrôler le format de sortie

Supposons que vous ayez besoin de la sortie de Claude dans un format spécifique, en particulier lors de l’intégration de Claude Code dans des scripts ou d’autres outils.
1

Utilisez le format texte (par défaut)

cat data.txt | claude -p 'summarize this data' --output-format text > summary.txt
Cela génère uniquement la réponse en texte brut de Claude (comportement par défaut).
2

Utilisez le format JSON

cat code.py | claude -p 'analyze this code for bugs' --output-format json > analysis.json
Cela génère un tableau JSON de messages avec des métadonnées incluant le coût et la durée.
3

Utilisez le format JSON en continu

cat log.txt | claude -p 'parse this log file for errors' --output-format stream-json
Cela génère une série d’objets JSON en temps réel au fur et à mesure que Claude traite la demande. Chaque message est un objet JSON valide, mais la sortie entière n’est pas un JSON valide s’il est concaténé.
Conseils :
  • Utilisez --output-format text pour les intégrations simples où vous avez juste besoin de la réponse de Claude
  • Utilisez --output-format json quand vous avez besoin du journal de conversation complet
  • Utilisez --output-format stream-json pour la sortie en temps réel de chaque tour de conversation

Exécuter Claude selon un calendrier

Supposons que vous souhaitiez que Claude gère une tâche automatiquement de manière récurrente, comme examiner les PR ouvertes chaque matin, auditer les dépendances chaque semaine ou vérifier les échecs CI pendant la nuit. Choisissez une option de planification en fonction de l’endroit où vous souhaitez que la tâche s’exécute :
OptionOù elle s’exécuteIdéale pour
RoutinesInfrastructure gérée par AnthropicLes tâches qui doivent s’exécuter même quand votre ordinateur est éteint. Peuvent également se déclencher sur les appels API ou les événements GitHub en plus d’un calendrier. Configurez sur claude.ai/code/routines.
Tâches planifiées sur le bureauVotre machine, via l’application de bureauLes tâches qui ont besoin d’un accès direct aux fichiers locaux, aux outils ou aux modifications non validées.
GitHub ActionsVotre pipeline CILes tâches liées aux événements du référentiel comme les PR ouvertes, ou les calendriers cron qui doivent vivre aux côtés de votre configuration de flux de travail.
/loopLa session CLI actuelleL’interrogation rapide pendant qu’une session est ouverte. Les tâches s’arrêtent quand vous commencez une nouvelle conversation ; --resume et --continue restaurent les tâches non expirées.
Lors de la rédaction de prompts pour les tâches planifiées, soyez explicite sur ce que signifie le succès et ce qu’il faut faire avec les résultats. La tâche s’exécute de manière autonome, elle ne peut donc pas poser de questions de clarification. Par exemple : ’ Examinez les PR ouvertes étiquetées needs-review, laissez des commentaires en ligne sur les problèmes et publiez un résumé dans le canal Slack #eng-reviews. ‘

Demandez à Claude ses capacités

Claude a un accès intégré à sa documentation et peut répondre à des questions sur ses propres fonctionnalités et limitations.

Exemples de questions

can Claude Code create pull requests?
how does Claude Code handle permissions?
what skills are available?
how do I use MCP with Claude Code?
how do I configure Claude Code for Amazon Bedrock?
what are the limitations of Claude Code?
Claude fournit des réponses basées sur la documentation à ces questions. Pour des démonstrations pratiques, exécutez /powerup pour des leçons interactives avec des démos animées, ou consultez les sections de flux de travail spécifiques ci-dessus.
Conseils :
  • Claude a toujours accès à la dernière documentation de Claude Code, quelle que soit la version que vous utilisez
  • Posez des questions spécifiques pour obtenir des réponses détaillées
  • Claude peut expliquer les fonctionnalités complexes comme l’intégration MCP, les configurations d’entreprise et les flux de travail avancés

Étapes suivantes

Bonnes pratiques

Modèles pour tirer le meilleur parti de Claude Code

Comment fonctionne Claude Code

Comprendre la boucle agentique et la gestion du contexte

Étendre Claude Code

Ajouter des skills, des hooks, MCP, des subagents et des plugins

Implémentation de référence

Clonez l’implémentation de référence du conteneur de développement