Maîtriser Claude Code — De zéro à 10x — 2. Les réglages qui changent tout

18 min read min de lecture
Chapitre 02

Les réglages qui changent tout

Chapitre 2 sur 10 · 20%

Objectifs de ce chapitre

  • Configurer les permissions pour ne plus valider 100 fois les mêmes commandes
  • Utiliser les modes Plan et Auto-Edit au bon moment
  • Gérer le contexte pour des sessions propres et efficaces

Permissions : arrête d'approuver sans cesse

Par défaut, Claude demande la permission avant chaque commande shell et chaque modification de fichier. C'est le bon réglage de départ : tant que tu ne sais pas ce que l'outil fait, chaque action mérite un regard. Mais au bout d'une heure, tu auras approuvé trente fois ls, cat et git status — des commandes de lecture qui ne peuvent rien casser. Cette friction a un coût réel : elle interrompt ta concentration et, pire, elle t'entraîne à cliquer « oui » mécaniquement, ce qui ruine l'intérêt même du contrôle.

La solution : autoriser une fois pour toutes les commandes non destructives, et garder la validation manuelle pour celles qui modifient l'état de ton système ou touchent au réseau de façon sensible. Le système de permissions de Claude Code repose sur des listes d'autorisation par outil et par motif de commande, stockées dans des fichiers de configuration. Tu peux les consulter et les modifier à tout moment avec la commande /permissions.

Le plus simple pour démarrer : colle ce prompt dans Claude Code — il mettra à jour ton fichier .claude/settings.local.json, là où vivent tes permissions locales :

PROMPT
ajoute des permissions à ce projet claude code pour autoriser les commandes bash non destructives : WebSearch, WebFetch, source, export, curl, jq, cat, ls, grep, echo, which, wc, file, pwd, mkdir, touch, head, tail, find, sort, tree, diff, node, npm, npx, git status, git diff, git log
Ce sont des commandes en lecture seule ou à faible risque. Claude continuera à te demander pour les commandes qui exécutent du code arbitraire (python, scripts), suppriment des fichiers (rm) ou modifient l'historique (git commit, git push) — tu gardes le contrôle là où ça compte.

Anatomie des fichiers de configuration

Claude Code lit ses réglages à trois niveaux, du plus général au plus spécifique : ~/.claude/settings.json (tes réglages personnels, valables partout), .claude/settings.json (les réglages du projet, à versionner dans Git pour les partager avec une équipe), et .claude/settings.local.json (tes réglages locaux pour ce projet, ignorés par Git). Les permissions accordées « pour ce projet » atterrissent dans ce dernier.

json
{
  "permissions": {
    "allow": [
      "Bash(ls:*)",
      "Bash(cat:*)",
      "Bash(git status)",
      "Bash(git diff:*)",
      "WebSearch",
      "WebFetch(domain:docs.anthropic.com)"
    ],
    "deny": [
      "Bash(rm -rf:*)"
    ]
  }
}

Lis ce fichier une fois pour comprendre la logique : chaque entrée combine un outil (Bash, WebFetch…) et un motif. Bash(git diff:*) autorise git diff avec n'importe quels arguments, mais pas git push. La liste deny l'emporte toujours sur allow : c'est ta ceinture de sécurité, même si une règle d'autorisation est trop large.

Modes : Plan vs Auto-Edit

Au-delà des permissions commande par commande, Claude Code a des modes de permission qui contrôlent son degré d'autonomie global. Dans le terminal, tu passes de l'un à l'autre avec Shift+Tab ; dans l'extension, un sélecteur fait la même chose. La pratique des utilisateurs expérimentés : passer la majorité du temps en Plan Mode ou Ask Before Edits pendant la phase de réflexion.

En Plan Mode, Claude ne touche à rien : il lit, analyse, et te présente un plan d'action détaillé. C'est là que tout se joue. Tu lis ce qu'il propose, tu débats, tu demandes des révisions : « pourquoi cette approche plutôt que telle autre ? », « ajoute une étape de vérification ici ». Tant que le plan n'est pas validé, tu restes en mode restrictif. Une fois le plan figé, tu bascules en Auto-Edit (acceptation automatique des modifications) et tu le laisses exécuter vite, sans t'interrompre à chaque fichier.

  • Plan Mode → phase de conception : Claude lit et planifie, ne modifie rien. Idéal pour les tâches complexes ou nouvelles.
  • Ask Before Edits (par défaut) → Claude propose chaque modification et attend ton accord. Bon compromis au quotidien.
  • Auto-Edit → phase d’exécution : le plan est validé, Claude avance sans t’interrompre sur les éditions de fichiers.
flowchart LR
  A["Plan Mode : Claude propose"] --> B{"Plan validé ?"}
  B -->|"Non : on débat, on révise"| A
  B -->|"Oui"| C["Auto-Edit : exécution rapide"]
  C --> D["Relecture du résultat"]
  D --> E["/clear puis tâche suivante"]
Le cycle de travail : concevoir en mode restrictif, exécuter en mode permissif, repartir propre.
La qualité se joue dans la planification. Dix minutes à challenger un plan t'économisent une heure à déboguer une exécution partie de travers. Investis ton attention là, pas dans la relecture de code après coup.

Le mode YOLO : à manier avec précaution

Il existe un cran au-dessus : lancer Claude Code avec claude --dangerously-skip-permissions, qui désactive toutes les demandes de permission. Le nom est explicite — c'est volontairement intimidant. Ce mode a des usages légitimes : des tâches longues et bien cadrées (corriger des erreurs de lint sur 50 fichiers, générer du boilerplate) où chaque interruption ruine l'intérêt de l'automatisation.

Mais comprends ce que tu signes : Claude peut alors exécuter n'importe quelle commande sans te consulter. La recommandation d'Anthropic est de réserver ce mode à des environnements isolés — un conteneur Docker, une machine virtuelle, un dossier sans données sensibles. Sur ton poste de travail principal, avec tes vrais fichiers clients, contente-toi des listes d'autorisation : tu obtiens 95% de la fluidité avec 5% du risque.

Contexte : repartir propre avec /clear et /compact

Chaque conversation avec Claude vit dans une fenêtre de contexte : la mémoire de travail du modèle. Tout y entre — tes messages, ses réponses, le contenu des fichiers lus, les sorties de commandes. Cette fenêtre est grande mais finie, et surtout : plus elle se remplit de choses sans rapport avec ta tâche actuelle, plus les réponses se dégradent. Le modèle se met à mélanger les sujets, à ressortir des décisions d'une tâche précédente, à perdre le fil.

Quand tu démarres une nouvelle tâche (nouvelle fonctionnalité, correction, sujet différent), nettoie la conversation pour repartir d'un contexte propre. Deux commandes existent, et elles ne font pas la même chose :

/clearEfface tout l’historique de la conversation. Repart de zéro. À utiliser entre deux tâches sans rapport : c’est le réflexe le plus important du chapitre.
/compactRésume la conversation en cours pour libérer de la place tout en gardant l’essentiel. À utiliser au milieu d’une longue tâche quand le contexte sature mais que tu as besoin de la continuité.

Le bon réflexe : /clear par défaut entre les tâches, /compact seulement quand tu es au milieu de quelque chose de long et que Claude t'avertit que le contexte se remplit. Note que Claude Code déclenche aussi une compaction automatique quand la fenêtre approche de la saturation — mais une compaction choisie au bon moment (après une étape terminée, pas au milieu d'un raisonnement) préserve mieux la qualité.

Le raccourci qui recharge ton contexte

« Mais si je fais /clear, Claude oublie tout mon projet ! » Exact — et c'est pour ça que le chapitre 8 existe. Le fichier CLAUDE.md, lu automatiquement au démarrage de chaque session, contient le contexte permanent de ton projet. /clear efface le bruit conversationnel ; CLAUDE.md garantit que l'essentiel revient toujours.

Astuce d'expert en attendant : crée un raccourci (par exemple une petite commande qnew) qui demande à Claude de relire ton CLAUDE.md et de résumer où en est le projet. Ainsi chaque session redémarre avec tout le contexte projet, sans le bruit des conversations passées. Tu verras au chapitre 8 comment construire ce fichier proprement.

🛠️ À toi de jouer

Contexte

Le projet de Léa va enchaîner beaucoup de commandes de lecture : lister des fichiers, lire des logs de publication, vérifier des statuts Git. Avant de construire le moindre skill, tu veux un environnement fluide où Claude ne t'interrompt que pour les vraies décisions. Tu vas configurer les permissions, puis expérimenter le cycle Plan → Auto-Edit sur une tâche réelle.

Consignes

  1. Demande à Claude d’ajouter les permissions non destructives (utilise le prompt du chapitre).
  2. Ouvre le fichier .claude/settings.local.json généré et lis la liste : repère la syntaxe Bash(commande:*).
  3. Tape /permissions pour voir la même liste depuis l’interface de Claude Code.
  4. Passe en Plan Mode (Shift+Tab) et demande un plan pour « préparer la structure du projet : un dossier pour les skills, un pour les logs, un fichier de configuration » — observe qu’il planifie au lieu d’exécuter.
  5. Challenge le plan : demande-lui de justifier un choix ou d’ajouter une étape.
  6. Bascule en Auto-Edit et laisse-le exécuter le plan validé sans interruption.
  7. Termine par /clear pour repartir propre avant le chapitre suivant.
Indice — Tu peux changer de mode à tout moment avec Shift+Tab ; commence restrictif, finis permissif. Et si tu hésites sur une permission, ne l'accorde pas en global : accepte juste « pour cette fois ».

En résumé

  • Autorise les commandes non destructives une fois pour ne plus les revalider : la friction mécanique tue la vigilance.
  • Les permissions vivent dans .claude/settings.local.json (local), .claude/settings.json (projet) et ~/.claude/settings.json (global) ; deny l’emporte toujours.
  • Reste en Plan Mode pour concevoir et débattre, bascule en Auto-Edit pour exécuter vite (Shift+Tab).
  • --dangerously-skip-permissions existe pour les tâches longues en environnement isolé — jamais sur des données sensibles.
  • /clear entre deux tâches sans rapport ; /compact au milieu d’une longue tâche qui sature.
  • Le bruit des tâches précédentes dégrade les réponses : un contexte propre est un levier de qualité gratuit.
  • CLAUDE.md (chapitre 8) garantit que l’essentiel du projet survit aux /clear.

Quiz — vérifie ta compréhension

1. Quand devrais-tu rester en Plan Mode ?

Le mode restrictif sert à la conception ; on bascule en Auto-Edit une fois le plan figé.

2. Pourquoi nettoyer le contexte entre deux tâches ?

Un contexte propre donne des réponses plus pertinentes ; CLAUDE.md permet de recharger l'essentiel.

3. Quelle est la différence entre /clear et /compact ?

/clear repart de zéro (entre deux tâches) ; /compact condense la conversation en cours pour libérer de la place sans perdre le fil.

4. Dans quel fichier atterrissent les permissions accordées localement pour un projet ?

settings.local.json contient tes permissions locales au projet, non versionnées dans Git. settings.json (projet) sert aux règles partagées en équipe.

5. Quel est le bon usage de --dangerously-skip-permissions ?

Ce mode désactive toutes les validations : il n'a de sens que sur des tâches bien définies, dans un environnement où une erreur ne coûte rien.

Auteur(s)

R

REHOUMA Haythem

Haythem Rehouma est un ingénieur et architecte IA et cloud, formateur et enseignant technique, avec un profil orienté IA médicale, AWS, MLOps, LLM/RAG et vision par ordinateur.