La plupart des gens découvrent Claude Code en interactif. Mais une grande partie de la valeur arrive en mode CLI / headless : enchaîner des tâches sans humain, dans le terminal ou la CI. C'est là que l'automatisation devient sérieuse.
Pourquoi le mode headless change tout
En interactif, vous pilotez tâche par tâche. En headless, vous décrivez un objectif et laissez l'agent boucler — idéal pour les tâches répétables : génération de tests, revue de diff, mise à jour de docs, refactors mécaniques. La clé reste la même : critères vérifiables et garde-fous.
Hooks et garde-fous
- Hooks de pré/post-action pour intercepter et valider ce que fait l'agent.
- Permissions strictes : ce que l'agent peut lire, écrire, exécuter.
- Secrets isolés : jamais dans le contexte envoyé au modèle.
- Sorties vérifiables : tests/lint/types verts avant tout commit.
Un exemple concret
# Tâche headless : générer les tests manquants puis vérifier
claude -p "Écris les tests unitaires manquants du module Auth, \
puis lance la suite et corrige jusqu'au vert" \
--allowedTools "Bash(bun test*),Edit,Read"Cette logique se branche ensuite en CI : une étape qui prépare un patch, le teste, et ouvre une PR si tout est vert. L'humain garde la décision finale de merge.
Headless ne veut pas dire sans contrôle. Ça veut dire que le contrôle se déplace des clics vers les règles et les vérifications.