Fonctionnalités non documentées de Claude Code : Hooks, mémoire, classificateur YOLO et plus

André Figueira a lu le code source de Claude Code (v2.1.87) et a découvert des dizaines d'options de configuration non documentées. La documentation officielle couvre les bases, mais le package réel—librement inspectable dans node_modules—expose des champs pour les hooks, la mémoire de l'agent, les règles de mode automatique, et plus encore. Voici ce que vous pouvez réellement configurer dès maintenant.
Classificateur YOLO : Auto-approbation des actions en français courant
Appelé en interne le "Classificateur YOLO" (yoloClassifier.ts), ce système vous permet de décrire votre environnement en français courant pour décider quand Claude peut approuver automatiquement des opérations. Dans settings.json, ajoutez une description comme "ceci est un serveur de staging, les opérations destructrices sont acceptables" pour autoriser certaines actions sans demande de confirmation.
Valeurs de retour des hooks qui modifient le comportement en plein vol
Les hooks reçoivent du JSON sur stdin et peuvent renvoyer du JSON spécifique à l'événement sur stdout. Voici les champs de retour clés :
- PreToolUse :
updatedInput(réécrit l'entrée de l'outil avant exécution),permissionDecision(force autorisation/refus),permissionDecisionReason,additionalContext - SessionStart :
watchPaths(surveillance automatique de fichiers déclenchant des événements FileChanged),initialUserMessage(ajoute du contenu au premier message utilisateur),additionalContext - PostToolUse :
updatedMCPToolOutput,additionalContext - PermissionRequest :
decision(autorisation/refus programmatique avecupdatedInputouupdatedPermissions)
Exemple : un hook PreToolUse qui ajoute --dry-run à chaque commande git push. Dans .claude/settings.json :
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/dry-run-pushes.sh"
}]
}]
}
}Script dans ~/.claude/hooks/dry-run-pushes.sh :
#!/bin/bash INPUT=$(jq -r '.tool_input.command'Ceci réécrit la commande avant exécution, un champ non documenté.
Contexte de session et surveillance de fichiers
Les hooks SessionStart peuvent définir watchPaths pour surveiller des fichiers comme package.json, .env et tsconfig.json en cas de modifications, déclenchant des événements FileChanged. Ils peuvent aussi injecter initialUserMessage pour ajouter du contexte, par exemple la branche git actuelle et le nombre de modifications non commitées.
Exemple de script renvoyant des chemins de surveillance et un message initial :
#!/bin/bash
BRANCH=$(git branch --show-current 2>/dev/null)
CHANGES=$(git status --porcelain 2>/dev/null | wc -l | tr -d ' ')
jq -n \
--arg branch "$BRANCH" \
--arg changes "$CHANGES" \
'{
"watchPaths": ["package.json", ".env", "tsconfig.json"],
"initialUserMessage": "Branche actuelle : \($branch), modifications non commitées : \($changes)"
}'Mémoire persistante de l'agent et règles de mode automatique
La mémoire de l'agent peut être configurée pour persister entre les sessions en utilisant des champs dans le répertoire ~/.claude/agents/. Les règles de mode automatique peuvent être décrites dans des fichiers en français courant, indiquant à Claude quand approuver automatiquement des actions. Le code source fait également allusion à des "boucles de rêve auto-améliorantes" où Claude peut affiner ses propres configurations.
Emplacements des fichiers
- Paramètres :
~/.claude/settings.json(personnel) ou.claude/settings.json(projet, partageable via git) - Compétences :
~/.claude/skills/<nom>/SKILL.md(personnel) ou.claude/skills/<nom>/SKILL.md(projet) - Agents :
~/.claude/agents/<nom>.md(personnel) ou.claude/agents/<nom>.md(projet) - Scripts de hooks : par convention dans
~/.claude/hooks/, doivent être exécutables (chmod +x)
Ces fonctionnalités sont pratiques pour les développeurs qui souhaitent personnaliser Claude Code au-delà des API documentées. Attendez-vous à ce que ces fonctionnalités changent entre les versions.
📖 Lire la source complète : HN AI Agents
👀 See Also

Cerveau Ouvert : Le serveur MCP open-source ajoute une mémoire persistante avec auto-graph et recherche sémantique à Claude
Open Brain est un serveur MCP open source qui offre à Claude une mémoire persistante entre les sessions grâce à l'extraction automatique d'entités, la déduplication sémantique et la création automatique de graphes de connexions entre les pensées. Il utilise Supabase avec pgvector et Deno Edge Functions, est auto-hébergeable et comprend 16 outils MCP pour le parcours de graphes, la navigation dans les entités et la synthèse des revues hebdomadaires.

Matrice LLM : Comparaisons de modèles votées par la communauté, construites avec Claude Code
Un data scientist a créé llm-matrix.vercel.app pour comparer les scores des LLM sur plusieurs dimensions simultanément, les votes de la communauté façonnant les classements. Le site a été entièrement développé avec Claude Code en utilisant deux plugins spécifiques.

Code Claude utilisé pour simuler plus de 4 000 parties de Loup-garou aveugle avec des LLM
Un développeur a utilisé Claude Code pour créer un simulateur où des LLM jouent à Loup-garou en une nuit sans informations, exécutant environ 4 600 parties avec des modèles d'OpenAI et xAI. L'expérience a révélé des schémas de vote cohérents basés sur les noms malgré des signaux de jeu minimaux.

SpecLock : Moteur de Contraintes Open Source pour Agents d'IA de Codage
SpecLock est un serveur MCP qui applique activement des contraintes aux agents d'IA de codage comme Claude Code. Il bloque les violations avec des avertissements de conflit sémantique en utilisant l'expansion de synonymes, la détection de négation et le marquage d'actions destructrices.