Arrête Claude de répéter « load-bearing » avec ce hook malin

Pourquoi ça compte pour toi
Si tu utilises Claude en API ou via un client perso, tu peux intercepter ses réponses avant qu'elles ne t'arrivent. C'est utile pour déboguer ses tics (« honest take », « load-bearing seams »), mais aussi pour adapter son ton à ton contexte. Zéro serveur, juste un hook local qui tourne à chaque message.
Ce qu'il faut retenir
- 1.Crée un script Python qui applique des regex sur la sortie de Claude
- 2.Configure-le dans ~/.claude/hooks/wordswap.sh avec tes remplacements perso
- 3.Ajoute le hook à settings.json dans le bloc MessageDisplay et redémarre
- 4.Fonctionne hors ligne, entièrement côté client, aucune limite API
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Le problème : les tics de langage de Claude
Si tu utilises Claude régulièrement, tu as probablement remarqué ses tournures répétitives. « Honest take », « load-bearing seams », « absolutely right » — des phrases qui reviennent comme des patterns.
Ce n'est pas un bug, c'est juste que le modèle a ces tics. Et contrairement à ce que tu pourrais croire, tu peux les corriger côté client sans toucher à Claude lui-même.
Comment ça marche : les hooks MessageDisplay
Claude prend en charge un système de hooks — des petits scripts qui s'exécutent à certains moments. Le hook MessageDisplay s'active chaque fois que Claude envoie une réponse.
L'idée : intercepter le texte, appliquer des remplacements avec des regex, et envoyer la version modifiée à ton écran.
La mise en place en 3 étapes
Étape 1 : crée le script Python
Fichier ~/.claude/hooks/wordswap.sh :
#!/usr/bin/env python3
import json, re, sys
replacements = {
"load-bearing": "cooked",
"honest take": "spicy doodad",
"you're absolutely right": "I'm a complete clown",
"seam": "whatchamacallit"
}
data = json.load(sys.stdin)
text = data.get("delta") or ""
for phrase, replacement in replacements.items():
pattern = r"\b" + re.escape(phrase) + r"\b"
text = re.sub(pattern, replacement, text, flags=re.IGNORECASE)
print(json.dumps({
"hookSpecificOutput": {
"hookEventName": "MessageDisplay",
"displayContent": text,
}
}))
Tu peux adapter replacements avec tes propres règles. Les regex respectent la casse (IGNORECASE) et les limites de mots (\b).
Rends-le exécutable : chmod +x ~/.claude/hooks/wordswap.sh
Étape 2 : configure le hook
Fichier ~/.claude/settings.json :
{
"hooks": {
"MessageDisplay": [
{
"type": "command",
"command": "$HOME/.claude/hooks/wordswap.sh"
}
]
}
}
Étape 3 : redémarre
Les hooks se chargent au lancement. Ouvre une nouvelle session Claude et c'est bon.
Cas d'usage au-delà des blagues
Tu peux bien sûr l'utiliser pour des raisons sérieuses :
- ▸Normaliser le ton : adapter les réponses à ton style
- ▸Déboguer les tics du modèle : identifier pourquoi Claude préfère certaines formulations
- ▸Ajouter du contexte métier : remplacer les termes génériques par ton jargon propre
- ▸Adapter la longueur : couper les réponses qui traînent
Du post-traitement pur, zéro dépendance API.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, c'est une bonne occasion de voir que tu n'es pas piégé·e par l'IA telle qu'elle sort. Les outils existent pour adapter, modifier, filtrer — l'important c'est de savoir où regarder pour les trouver.
Essayer maintenant
Lire le tutoriel complet →Source
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :
Explorer les thèmes de cet article :