Les modes de Claude Code
Claude Code propose trois modes d'interaction. Les maîtriser, c'est la différence entre tourner en rond pendant une heure et livrer une feature en 15 minutes.
Vue d'ensemble
| Mode | Quand l'utiliser | Ce que Claude fait |
|---|---|---|
| Chat Mode (par défaut) | Questions, modifications simples, exploration | Attend ta confirmation avant chaque modification |
| Plan Mode | Features multi-fichiers, réflexion architecturale | Analyse et propose un plan, sans toucher au code |
| Auto-accept | Implémentation d'un plan validé | Exécute sans demander confirmation à chaque étape |
Tu bascules entre les trois avec Shift+Tab, qui cycle dans l'ordre : Normal, Auto-accept, Plan.
Chat Mode (par défaut)
Le mode standard. Tu poses une question ou demandes une modification, Claude propose le changement, et tu valides avant qu'il l'applique.
Quand l'utiliser :
- Poser une question sur le code existant
- Faire une modification simple (renommer une variable, corriger un bug évident)
- Explorer une partie du codebase que tu ne connais pas
Exemples de prompts en Chat Mode
Le formulaire d'inscription à la waitlist ne reset pas après soumission.
Le state `email` reste affiché. Corrige le composant WaitlistForm.tsx.
La règle : si ta modification touche un seul fichier et que tu sais exactement ce que tu veux, le Chat Mode suffit.
Plan Mode
Le mode le plus important pour construire un MVP. Au lieu de coder directement, Claude analyse ton codebase, pose des questions, et propose un plan détaillé. Il ne touche à aucun fichier tant que tu n'as pas validé.
Activer Plan Mode
Raccourci
Shift+Tab # Cycle entre les modes
# Normal → Auto-accept → Plan → Normal
Tu peux aussi taper /plan directement dans le prompt.
Quand utiliser Plan Mode
- Ta modification touche 2 fichiers ou plus
- Tu dois prendre une décision architecturale (choix de pattern, structure de données)
- Tu n'es pas sûr de l'approche et tu veux que Claude réfléchisse d'abord
- La feature est complexe (intégration Stripe, flux d'authentification, système d'emails)
Quand Plan Mode est inutile
Ne perds pas de temps à planifier des modifications triviales. Si tu veux renommer une variable, corriger une typo, ou ajouter un champ à un schéma, utilise directement le Chat Mode. Plan Mode ajouterait de la friction sans valeur.
Auto-accept Mode
Une fois que tu as un plan validé, active l'auto-accept pour laisser Claude implémenter sans te demander confirmation à chaque fichier modifié.
Raccourci
Shift+Tab # Depuis le mode Normal, un seul Shift+Tab active Auto-accept
# Normal → Auto-accept
N'active jamais l'auto-accept sans avoir validé un plan d'abord. C'est la porte ouverte à des modifications non maîtrisées sur tout ton projet.
Scénario complet : le dashboard de LaunchList
Voyons comment les trois modes s'enchaînent sur un cas réel. On veut construire le dashboard qui affiche les waitlists d'un utilisateur avec leurs statistiques (nombre d'inscrits, taux de conversion, revenus Stripe).
Plan Mode
On active Plan Mode avec Shift+Tab, puis on envoie le prompt.
Prompt envoyé en Plan Mode
Je veux créer le dashboard principal de LaunchList.
Ce dashboard doit afficher :
- La liste des waitlists de l'utilisateur connecté
- Pour chaque waitlist : nombre d'inscrits, taux de conversion, revenus Stripe
- Un bouton "Créer une waitlist" si l'utilisateur n'en a aucune
- Un état vide avec un message d'onboarding
Stack : Next.js 16 (App Router), Drizzle ORM, Better-Auth pour la session,
Stripe pour les paiements, Tailwind CSS v4.
Le schéma Drizzle existant a les tables : users, waitlists, waitlistEntries, orders.
Analyse le code existant et propose un plan détaillé.
Claude propose son plan
Claude explore le codebase et revient avec un plan structuré.
À ce stade, tu lis le plan. Tu vérifies que l'approche te convient. Tu poses des questions si nécessaire : "Pourquoi des Server Components plutôt qu'un fetch client-side ?" ou "Ajoute aussi un filtre par statut actif/archivé."
Quand le plan te convient, tu valides.
Auto-accept pour l'implémentation
Tu actives Auto-accept avec Shift+Tab (cycle jusqu'à Auto-accept) et tu laisses Claude implémenter. Il crée les fichiers, modifie le schéma, ajoute les requêtes. Tu le regardes travailler sans avoir à valider chaque fichier individuellement.
Review
L'auto-accept a fini. Tu reviens en Chat Mode (Shift+Tab pour cycler), tu lances un git diff et tu examines ce que Claude a produit.
Vérification
git diff --stat
En relisant le code, tu remarques un problème : Claude a bien prévu le composant d'onboarding quand l'utilisateur n'a aucune waitlist, mais la requête Drizzle ne filtre pas les waitlists supprimées. Si un utilisateur a supprimé toutes ses waitlists, il voit un dashboard vide sans message d'onboarding.
Itération
Tu restes en Chat Mode pour la correction, c'est un fix simple.
Prompt de correction
Dans src/lib/queries/dashboard.ts, la requête getWaitlistsByUser ne filtre
pas les waitlists avec status "deleted". Du coup si un utilisateur a supprimé
toutes ses waitlists, il voit un dashboard vide au lieu du message d'onboarding.
Corrige la requête pour exclure les waitlists supprimées, et vérifie que le
composant Dashboard utilise bien le bon état vide.
Ce cycle Plan, Auto-accept, Review, Correction est le workflow fondamental de Claude Code. Tu vas le répéter des dizaines de fois pendant la construction de ton MVP.
Les pièges de chaque mode
Auto-accept sans plan validé
Plan Mode pour une modification triviale
Ne pas interrompre quand Claude part dans la mauvaise direction
Escape dès que tu vois que Claude se trompe. N'attends jamais qu'il finisse. Reformule ton prompt et relance.Savoir interrompre Claude
C'est un réflexe que tu dois développer dès maintenant. Quand Claude commence à générer du code et que tu vois dès les premières lignes qu'il part dans la mauvaise direction, n'attends pas qu'il finisse. Chaque ligne générée dans la mauvaise direction, c'est du contexte pollué et du temps perdu.
Appuie sur Escape immédiatement. Pas dans 30 secondes, pas après avoir lu la suite "pour voir". Tout de suite.
Après l'interruption, reformule ton prompt en étant plus précis sur ce que tu veux. Souvent, Claude partait dans la mauvaise direction parce que ton prompt était ambigu ou manquait de contexte.
Situations typiques où tu dois interrompre :
- Claude crée un nouveau fichier alors que tu voulais modifier un fichier existant
- Claude installe une dépendance que tu n'as pas demandée
- Claude restructure du code qui fonctionnait déjà
- Claude part sur une approche complètement différente de ce que tu avais en tête
Revenir en arrière avec /rewind
Quand Claude a modifié plusieurs fichiers et que le résultat ne convient pas, tu as deux options :
| Méthode | Ce qu'elle restaure | Quand l'utiliser |
|---|---|---|
git checkout | Les fichiers uniquement | Tu veux garder le contexte de conversation |
Escape x2 ou /rewind | Les fichiers et la conversation | Tu veux repartir d'un point précédent comme si rien ne s'était passé |
/rewind est plus puissant que git : il restaure le code et le contexte de conversation à n'importe quel point précédent. Claude oublie tout ce qui s'est passé après ce point, ce qui évite de polluer le contexte avec des tentatives ratées.
Quand utiliser /rewind :
- Claude a modifié 5 fichiers dans la mauvaise direction et tu veux tout annuler proprement
- Tu veux essayer une approche alternative sans que Claude soit influencé par la tentative précédente
- Claude est parti en boucle et son contexte est pollué par des corrections en chaîne
Chaque message de Claude crée un checkpoint automatique. Tu peux revenir à n'importe lequel. C'est ton filet de sécurité permanent.
Raccourcis essentiels
| Raccourci | Action |
|---|---|
Shift+Tab | Cycler entre les modes (Normal, Auto-accept, Plan) |
Escape | Interrompre Claude |
Escape x2 | Ouvrir le menu rewind (restaurer le code et la conversation à un point précédent) |
/clear | Réinitialiser le contexte |
/plan | Activer Plan Mode directement |
Tu peux aussi cycler les modes pendant que Claude te demande une confirmation (accepter/refuser une modification). Le raccourci Shift+Tab fonctionne dans ce contexte aussi.
Le workflow recommandé
Plan Mode
Décrire la feature, lire et valider le plan proposé par Claude.
Auto-accept
Laisser Claude implémenter le plan validé.
Review (diff)
Lire les changements, repérer les problèmes.
Chat Mode
Corriger les problèmes trouvés.
Commit
Valider le travail.
Git est indispensable quand tu travailles avec Claude Code. Demande régulièrement à Claude de commiter pour sauvegarder ton travail. Ça te permet de revenir en arrière quand Claude casse quelque chose : git diff pour inspecter les changements, Escape x2 pour ouvrir le menu rewind et restaurer un état précédent. Pas besoin de branches complexes pour un MVP, juste des commits réguliers.
Répète ce cycle pour chaque feature. Une feature = un cycle. Ne mélange pas plusieurs features dans le même cycle, tu perdras en clarté et Claude perdra le fil.
Checklist
Avant de passer à la page suivante, vérifie que tu sais :
- Basculer entre Chat Mode et Plan Mode avec
Shift+Tab - Activer et désactiver l'auto-accept
- Interrompre Claude avec
Escapequand il part dans la mauvaise direction - Utiliser
/rewindouEscapex2 pour restaurer un état précédent
Prochaine étape
Les modes sont tes outils d'interaction avec Claude. Mais pour que Claude soit efficace dès le premier prompt, il a besoin de contexte sur ton projet. C'est le rôle du fichier CLAUDE.md, la mémoire persistante de ta collaboration avec Claude.