Cómo hacer que Claude deje de decir ‘load-bearing’

En pocas palabras: Para que Claude deje de repetir muletillas como “load-bearing”, creá un hook local en Claude Code: el script wordswap.sh en ~/.claude/hooks/ hace search-and-replace sobre la salida. Tres pasos: crear el script, darle permisos con chmod +x y registrarlo en settings.json. Lo publicó jola.dev el 14 de julio de 2026.

Personalizar Claude para evitar palabras repetidas como “load-bearing”, “honest take” o “seam” se hace con un hook local en Claude Code: un script shell guardado en ~/.claude/hooks/ que reemplaza esas palabras en pantalla antes de que las leas. El truco lo publicó jola.dev el 14 de julio de 2026.

Un hook de Claude Code es un script que la herramienta ejecuta en momentos puntuales de la sesión (por ejemplo, cuando termina de responder) y que puede modificar lo que aparece en la terminal. Claude Code es la CLI de Anthropic para programar desde la línea de comandos. El truco de jola.dev engancha un hook para interceptar el texto de salida y cambiar las palabras que te tienen podrido por sinónimos que elegís vos.

En 30 segundos

  • El problema: Claude repite muletillas como “load-bearing”, “honest take”, “seam” y “you’re absolutely right”.
  • La solución de jola.dev: un hook local llamado wordswap.sh que hace search-and-replace sobre la salida.
  • Tres pasos: crear el script, darle permisos con chmod +x y registrarlo en ~/.claude/settings.json.
  • Requisito: los hooks cargan al iniciar, así que hay que abrir una sesión nueva para que tome efecto.
  • Alternativas: también podés atacar el tema desde CLAUDE.md o desde una skill, cada una con su costo.

Claude es un modelo de lenguaje grande desarrollado por Anthropic, diseñado para conversación, análisis textual, escritura y tareas de programación. Se actualiza regularmente con nuevas versiones.

¿Qué es “load-bearing” y por qué Claude la repite tanto?

“Load-bearing” es un término de arquitectura e ingeniería que significa “que soporta carga”, como una pared maestra o una viga estructural. Claude lo usa en sentido figurado para decir que una parte del código o del razonamiento es la que “sostiene” todo lo demás. En español, el equivalente correcto es “estructural”, “crítico” o “que carga con el peso”.

El punto es que se convirtió en muletilla. Según el posteo de jola.dev, el mismo autor se hartó de leer a Claude referirse a todo como “honest takes” y “load-bearing seams”. Y no está solo: cualquiera que use Claude Code varias horas por día empieza a notar el patrón.

¿Por qué pasa esto? Los modelos de lenguaje tienen sesgos de vocabulario que vienen del entrenamiento y del fine-tuning con preferencias humanas. Ciertas expresiones quedan sobre-representadas y el modelo las reutiliza porque estadísticamente le “funcionaron” antes. No es un bug, es un tic del modelo. Otras que aparecen seguido: “you’re absolutely right”, “seam” (unión, costura) y “honest take” (opinión sincera). Relacionado: nuestra guía completa de Claude.

¿Cómo funcionan los hooks en Claude Code?

Los hooks de Claude Code son scripts que la CLI dispara en eventos concretos de la sesión y que pueden leer o transformar datos antes de que sigan su curso. Se registran en ~/.claude/settings.json y cargan al arrancar. Por eso, si tocás la config, necesitás una sesión nueva para que agarre.

La lógica del truco de jola.dev es simple: el hook recibe el texto, le pasa una tanda de reemplazos y devuelve el resultado ya “corregido”. En su versión, la salida del script es un JSON con campos como hookSpecificOutput, hookEventName y displayContent, que es lo que Claude Code termina mostrando en la terminal.

Ojo con una cosa: un hook ejecuta código local en tu máquina con tus permisos. No es peligroso si el script lo escribiste vos y hace un sed inofensivo. Pero si copiás un hook de un desconocido sin leerlo, le estás dando la llave de tu terminal. Léelo antes de pegarlo. Siempre.

Guía paso a paso: crear el script wordswap.sh

El primer paso es crear el archivo ~/.claude/hooks/wordswap.sh con tus reglas de reemplazo. Ponele que quieras cambiar tres palabras. Un script mínimo que lee la entrada estándar, aplica los reemplazos con sed y devuelve el texto se ve así: Tema relacionado: comparación Opus vs Sonnet.

#!/bin/bash
# Lee la salida de Claude por stdin y reemplaza muletillas
input=$(cat)
echo "$input" | sed \
 -e 's/load-bearing/crítico/g' \
 -e "s/honest take/opinión sincera/g" \
 -e 's/seam/unión/g' \
 -e "s/you're absolutely right/tenés razón/g"

Después hay que hacerlo ejecutable. El comando exacto es:

chmod +x ~/.claude/hooks/wordswap.sh

Un detalle para quien trabaja en Windows: sed, chmod y los scripts .sh viven en el mundo Unix. Si estás en Windows, corré esto desde Git Bash o WSL, no desde PowerShell nativo. En Linux y macOS anda de una.

¿Cómo configurar settings.json para activar el hook?

Para activar el hook, abrí ~/.claude/settings.json y agregá el bloque hooks apuntando al script con ruta absoluta usando $HOME. La forma general es esta:

{
 "hooks": {
 "Stop": [
 {
 "hooks": [
 { "type": "command", "command": "$HOME/.claude/hooks/wordswap.sh" }
 ]
 }
 ]
 }
}

Fijate que el evento (arriba puse Stop como ejemplo) define cuándo se dispara el hook. Confirmá en la documentación oficial de Claude Code cuál corresponde a tu caso, porque de eso depende que el reemplazo se aplique sobre la salida correcta.

Dos errores clásicos acá: usar ruta relativa en vez de $HOME (el hook no arranca y no te avisa por qué) y olvidar una coma del JSON (Claude Code ignora el archivo entero). Validá el JSON antes de guardar. Y una vez guardado, cerrá y abrí una sesión nueva, porque los hooks cargan al inicio.

Alternativas: CLAUDE.md y skills vs. hooks

El hook no es la única forma de personalizar Claude para evitar palabras repetidas. Tenés tres caminos y cada uno resuelve un problema distinto. CLAUDE.md le da instrucciones al modelo, las skills cambian comportamiento de forma más persistente y los hooks filtran la salida en tu máquina. En capacidades del modelo Opus profundizamos sobre esto.

MétodoQué haceFacilidadAlcanceConfiabilidad
CLAUDE.mdLe pedís al modelo que evite ciertas palabrasAlta (editás un .md)El modelo intenta cumplir, no garantizaMedia: puede volver a la muletilla
SkillInstrucción de comportamiento reutilizableMedia (requiere setup)Persistente entre sesionesAlta, pero igual depende del modelo
Hook (wordswap.sh)Reemplaza el texto ya generado, en localMedia (script + JSON)Solo en tu terminalTotal: el sed siempre reemplaza
personalizar claude palabras repetidas diagrama explicativo

La diferencia de fondo: con CLAUDE.md le pedís al modelo que no diga “load-bearing”, y a veces te hace caso y a veces se olvida. Con el hook no le pedís nada: la palabra sale igual, pero vos la reemplazás antes de leerla. Es la diferencia entre negociar y editar.

Ejemplos prácticos: qué reemplazar y por qué

Los reemplazos más útiles son los que traducen la muletilla al español técnico correcto. Acá van cuatro concretos, con el sentido que conviene según el contexto.

  • load-bearing → crítico / estructural: “esta función es crítica” suena mejor que “esta función es load-bearing”.
  • honest take → opinión sincera: más natural y directo en una charla técnica en español.
  • seam → unión / límite: según el contexto, la “costura” entre dos módulos se dice mejor como unión o punto de contacto.
  • you’re absolutely right → tenés razón: corta el reflejo halagador que muchos usuarios encuentran cargoso.

Ejemplo real de antes y después. Antes: “There’s a load-bearing seam here, and honest take, you’re absolutely right to worry.” Después del hook: “Hay una unión crítica acá, y opinión sincera, tenés razón en preocuparte.” Se lee raro igual, pero al menos ya no te salta la muletilla en inglés cada tres líneas.

¿Cómo verificar que el hook está funcionando?

Para verificar que el hook corre, forzá una respuesta que debería contener una palabra reemplazada y fijate si sale traducida. Si no cambia nada, hay tres sospechosos habituales en este orden: sesión vieja, permisos del archivo y ruta mal escrita en el JSON. Ya lo cubrimos antes en escalar con Claude Code.

  • ¿Abriste sesión nueva? Los hooks cargan al inicio. Si editaste y no reiniciaste, todavía corre la config vieja.
  • ¿El script es ejecutable? Corré ls -l ~/.claude/hooks/wordswap.sh y confirmá que aparezca la x de permiso.
  • Debug rápido: agregá un echo "hook corrió" >> /tmp/hooklog.txt dentro del script para ver si se dispara.

Un buen test de aislamiento: desactivá el hook comentando su línea en settings.json, reiniciá, y confirmá que la palabra vuelve a salir en inglés. Si vuelve, el hook era el que hacía la magia. Si no vuelve, el cambio venía de otro lado (por ejemplo, de tu CLAUDE.md).

Errores comunes al personalizar Claude

  • Olvidar el chmod +x: el archivo existe pero no es ejecutable, así que Claude Code no lo corre. Síntoma: no pasa nada. Solución: chmod +x y sesión nueva.
  • Ruta relativa en el JSON: poner ./hooks/wordswap.sh en vez de $HOME/.claude/hooks/wordswap.sh. El hook no arranca. Usá siempre la ruta absoluta.
  • Romper el JSON con una coma: un error de sintaxis en settings.json hace que Claude Code ignore toda la config, no solo el hook. Validá el archivo.
  • Regex sin escapar: caracteres especiales en el sed (como /, & o .) sin escapar rompen el reemplazo. Probá cada regla por separado.
  • Reemplazar dentro de comandos: si tu regla toca texto que forma parte de un comando o de código, podés romper funcionalidad. Apuntá a palabras de prosa, no a tokens de código.

Si tu flujo depende de hosting o de un entorno de desarrollo en la nube para probar estos scripts, un VPS en donweb.com te da una terminal Linux limpia donde el chmod y el sed se comportan como Dios manda, sin las rarezas de Windows.

Preguntas Frecuentes

¿Cómo hago que Claude no repita palabras?

Podés crear un hook local en Claude Code: un script shell en ~/.claude/hooks/ que reemplaza las palabras repetidas con sed. También podés pedírselo por CLAUDE.md, aunque el modelo no siempre lo respeta. El hook es el método más confiable porque reemplaza el texto ya generado.

¿Qué significa “load-bearing” y por qué lo dice Claude?

“Load-bearing” significa “que soporta carga”, un término de ingeniería estructural. Claude lo usa en sentido figurado para señalar la parte que sostiene el resto del sistema. Aparece seguido porque es un sesgo de vocabulario del modelo, no un error. El equivalente en español es “crítico” o “estructural”.

¿Se puede usar settings.json para cambiar el comportamiento de Claude?

Sí. El archivo ~/.claude/settings.json es donde se registran los hooks de Claude Code. Agregando un bloque hooks que apunte a tu script, la CLI ejecuta ese código en el evento que definas. Los cambios se aplican al abrir una sesión nueva.

¿Cuál es la diferencia entre un hook y CLAUDE.md?

El CLAUDE.md instruye al modelo (le pedís que evite ciertas palabras) y depende de que el modelo obedezca. El hook filtra la salida en tu máquina con un reemplazo determinístico, así que siempre se aplica. Uno negocia con el modelo; el otro edita el resultado.

¿Es seguro usar hooks de Claude Code?

Un hook ejecuta código local con tus permisos, así que es seguro solo si el script lo escribiste o lo revisaste vos. Un sed que reemplaza palabras es inofensivo. Nunca pegues un hook de un desconocido sin leerlo, porque tiene acceso a tu terminal.

Conclusión

El truco que publicó jola.dev el 14 de julio de 2026 es medio en joda, pero resuelve una molestia real: si Claude te repite “load-bearing” hasta el hartazgo, un hook con sed te lo cambia por lo que vos quieras, en tu terminal, sin depender de que el modelo se acuerde. Es la opción más confiable de las tres, aunque también la más manual.

Mi recomendación práctica: si es un tema de estilo puntual, arrancá por CLAUDE.md porque es más rápido. Si esas palabras te sacan de quicio y querés garantía de que desaparezcan, armá el wordswap.sh. Y si vas a compartir el hook con tu equipo, revisá bien el script antes, porque corre con tus permisos. Tres pasos, una sesión nueva, y listo.

Fuentes

Desplazarse hacia arriba