Receta · Básico · 10 min
Claude Code en español y sin relleno: language y estilo Concise
Haz que Claude Code te responda siempre en español y sin paja: el ajuste language, el estilo Concise y una regla en CLAUDE.md contra la deriva al inglés.
Probado con Claude Code 2.1.316 · revisado
Ver los archivos en GitHub Gratis · licencia MIT
El problema
Le escribes en español y Claude Code te contesta en inglés, o te contesta en español pero con tres párrafos de introducción, la narración de cada paso y un resumen final que repite lo que ya dijo. Puede contestarte siempre en español y sin paja, pero no lo consigue una sola pieza: hace falta combinar tres, el ajuste language, el estilo de salida Concise y una regla concreta en CLAUDE.md. Y aun así, tras leer documentación o logs en inglés, a veces se pasa al inglés (issue #96326, abierto).
La solución
Tres piezas y una opcional. Los archivos están en el repositorio gratuito ctrlia-claude-code-espanol.
1. Pieza 1: el ajuste language
Abre ~/.claude/settings.json (créalo si no existe) y añade language y, de paso, el estilo del paso 2:
{
"language": "spanish",
"outputStyle": "Concise"
}
La documentación oficial dice que Claude Code pasa el valor de language tal cual a Claude como instrucción de responder siempre en ese idioma. No hay lista cerrada, así que vale cualquier nombre que Claude entienda, y no se valida: si lo escribes mal, no da error, simplemente llega mal escrito.
- Escríbelo en el archivo de usuario para que valga en todos tus proyectos; un proyecto puede tener el suyo en
.claude/settings.json. - El mismo valor fija el idioma del dictado por voz y de los títulos automáticos de las sesiones.
- Hubo un fallo antiguo que quitaba tildes y eñes de las respuestas con
languagepuesto, corregido en la v2.1.108: si usas una versión vieja, actualiza conclaude update. - Reinicia Claude Code después de cambiarlo.
En una ejecución con claude -p puedes pasarlo sin tocar archivos con --settings '{"language":"spanish"}'.
2. Pieza 2: el estilo Concise contra el relleno
Desde la v2.1.237 Claude Code trae el estilo de salida Concise: la primera frase dice qué pasó o cuál es la respuesta, sin introducción, sin narrar cada paso y sin el resumen final, y una pregunta sencilla se responde en una a tres frases. La documentación aclara que hace el trabajo de ingeniería igual de a fondo que el estilo por defecto, y que sigue escribiendo completo lo que necesitas para actuar con seguridad: informes de error, tests que fallan, avisos de seguridad y confirmaciones de acciones destructivas.
Actívalo con /output-style concise (v2.1.269 o posterior) o desde /config > Output style; ambos lo guardan en .claude/settings.local.json, solo para ese proyecto. Para que sea tu estilo en todos los proyectos, pon "outputStyle": "Concise" en ~/.claude/settings.json, como en el paso 1.
Cuidado: en el archivo de ajustes ese valor distingue mayúsculas. "concise" en minúsculas no coincide con ningún estilo y te deja en el estilo por defecto sin avisar (el comando /output-style, en cambio, ignora mayúsculas). El estilo nuevo se aplica desde tu siguiente mensaje.
3. Pieza 3: una regla de idioma que cubra los mensajes cortos
El issue #96326 describe el patrón: con la regla de idioma en CLAUDE.md, el ajuste de idioma y el estilo Concise, el modelo se pasaba al inglés justo después de leer salida en inglés (especificaciones, informes de subagentes, revisiones de código), sobre todo en las líneas cortas de progreso y en los resúmenes finales. Corregirlo en la conversación solo duraba un turno.
No hay arreglo oficial a 1-nov-2026, pero sí puedes cerrar el hueco que señala el informe: escribe en ~/.claude/CLAUDE.md una regla que nombre esos casos en concreto (mensajes de progreso, resúmenes, preguntas) y que diga qué hacer con el texto en inglés (citarlo tal cual, pero explicarlo en español). Lo que no debe traducirse también se dice: nombres de funciones, comandos y mensajes de error literales.
## Idioma
- Escribe SIEMPRE en español: respuestas, preguntas, mensajes de progreso entre herramientas y resúmenes finales.
- Aunque leas documentación, logs, informes de subagentes o revisiones en inglés, tu texto sigue en español.
- Cita tal cual (sin traducir) nombres de funciones, comandos, rutas y mensajes de error; explícalos en español.
- Comentarios de código y mensajes de commit: en el idioma que ya use el proyecto.
La documentación oficial recuerda que CLAUDE.md y los estilos son instrucciones que Claude sigue, no garantías: si necesitas algo que se cumpla siempre, eso es un hook, y para el idioma de un texto libre no hay hook sensato. Por eso esta receta reduce la deriva, no la elimina. Si quieres que el resto de tu CLAUDE.md también funcione, mira cómo escribir un CLAUDE.md que funciona.
4. Opcional: tu propio estilo «Español directo»
Si Concise se queda corto o quieres reglas propias (tono, formato de las respuestas, nada de emojis), crea un estilo personalizado. Es un archivo Markdown en ~/.claude/output-styles/ (para ti) o .claude/output-styles/ (para el proyecto); el nombre del archivo es el del estilo salvo que pongas name en el frontmatter. Guarda esto en ~/.claude/output-styles/espanol-directo.md:
---
name: Español directo
description: Respuestas en español, primero el resultado, sin relleno
keep-coding-instructions: true
---
Responde en español neutro.
- La primera frase dice el resultado o la respuesta.
- Nada de introducciones, de narrar cada paso ni de resumen final repetido.
- No elogies la pregunta ni digas que el usuario tiene razón: ve al contenido.
- Preguntas simples: 1-3 frases. Errores, tests que fallan y avisos de seguridad: completos.
- Sin emojis.
La clave importante es keep-coding-instructions: true: sin ella, un estilo propio deja fuera la parte del prompt del sistema con las instrucciones de ingeniería de Claude Code (cómo acotar cambios, comentar y verificar el trabajo). Como solo quieres cambiar cómo habla, no cómo programa, ponla a true. Actívalo con /output-style "Español directo" o desde /config. Si creas o editas el archivo con Claude Code abierto, reinícialo para que lo lea.
Dos límites documentados: los estilos aplican a la conversación principal y a los forks, pero los demás subagentes usan su propio prompt del sistema, así que sus informes pueden llegar en inglés; y un estilo añade tokens de entrada (la caché de prompts lo abarata después del primer mensaje).
Compruébalo
Abre una sesión nueva en un proyecto con README en inglés y pide «resume el README y dime qué falta». Debe contestar en español, empezando por la conclusión, y citar los nombres de archivos tal cual. Luego pide algo que lea mucho inglés, como «revisa el CHANGELOG y dime qué cambió en la última versión», y fíjate en los mensajes cortos entre herramientas: ahí es donde aparece la deriva. Si se pasa al inglés, no discutas: escribe «en español» y, si se repite, añade a la regla de CLAUDE.md el caso exacto que falló.
Dos comprobaciones rápidas desde la terminal:
# Lista los estilos disponibles y el activo (también funciona sin interfaz)
claude -p "/output-style" < /dev/null
# Una ejecución puntual en español y concisa sin tocar archivos
claude -p --settings '{"language":"spanish"}' "Explain what package.json scripts do in this repo" < /dev/null
Con la versión 2.1.316 y una configuración limpia, con el settings.json del paso 1 y el estilo del paso 4 instalados, la primera orden mostró esto (tu estilo aparece al final de la lista, y (current) marca el activo):
Output style: Concise
Available styles:
- default
- Proactive: Claude executes immediately, minimizes interruptions, and prefers action over planning
- Concise (current): Claude responds tersely, leading with results and skipping preamble and narration
- Explanatory: Claude explains its implementation choices and codebase patterns
- Learning: Claude pauses and asks you to write small pieces of code for hands-on practice
- Español directo: Respuestas en español, primero el resultado, sin relleno
Usage: /output-style <style>
Lo que no hemos podido medir de forma limpia es el efecto de language en las respuestas: en nuestro equipo de pruebas el CLAUDE.md global ya exige español, así que todas las respuestas salían en español por eso. Haz tú la prueba del antes y el después en tu cuenta.
Para mantener la configuración sana, /doctor prompt-audit (v2.1.283) revisa tus CLAUDE.md, skills, agentes y comandos en busca de instrucciones escritas para modelos antiguos (su informe pone primero las rutas y comandos que ya no existen y los archivos de instrucciones que se contradicen). Y /output-style sin argumentos te dice qué estilo tienes activo. Si tienes reglas de idioma repetidas en varios sitios (CLAUDE.md global, del proyecto y un estilo), deja una sola versión clara: las contradicciones empeoran el resultado.
Por qué funciona
Cada pieza actúa en un sitio distinto. language se pasa tal cual a Claude como instrucción de responder en ese idioma. El estilo de salida cambia la parte del prompt del sistema que decide cómo se escribe la respuesta, sin tocar el trabajo de ingeniería (Concise de serie, o el tuyo con keep-coding-instructions: true). Y la regla de CLAUDE.md nombra los casos en los que, según #96326, el modelo se pasa al inglés: los mensajes cortos de progreso y los resúmenes tras leer texto en inglés. Las tres son instrucciones, no garantías, y por eso juntas funcionan mejor que cualquiera sola. Más detalles en la referencia de ajustes, la página de estilos de salida, la de ajustes y la de memoria y CLAUDE.md.
Errores típicos
- Pusiste
"outputStyle": "concise"y no cambia nada → en el archivo de ajustes el nombre distingue mayúsculas → escribe"Concise". languagemal escrito y ningún error → el valor no se valida, se pasa tal cual → revisa la ortografía ("spanish"es el ejemplo de la documentación).- Las respuestas salen sin tildes ni eñes → fallo antiguo corregido en la v2.1.108 →
claude update. - El estilo propio no aparece en
/output-style→ creaste o editaste el archivo con la sesión abierta, o no está en~/.claude/output-styles/ni en.claude/output-styles/→ reinicia Claude Code y revisa la ruta. - Con tu estilo propio, Claude programa peor → falta
keep-coding-instructions: truey el estilo dejó fuera las instrucciones de ingeniería → añádelo al frontmatter. - Se pasa al inglés después de leer un CHANGELOG o un informe de subagente → es la deriva de #96326 → escribe «en español» y añade el caso exacto a la regla de CLAUDE.md.
- Reglas de idioma distintas en varios sitios → se contradicen y empeoran el resultado → deja una sola versión clara.
Preguntas frecuentes
¿Escribo "spanish" o "español"?
Cualquiera que Claude entienda: el valor se pasa tal cual y no se valida. "spanish" es el ejemplo de la documentación y además sirve para el dictado por voz.
Puse "outputStyle": "concise" y no cambia nada.
En el archivo de ajustes el nombre distingue mayúsculas: escribe "Concise". Un nombre que no coincide te deja en el estilo por defecto sin aviso.
¿Concise hace que Claude trabaje peor o revise menos?
Según la documentación, no: solo acorta el texto. Hace el trabajo igual de a fondo y mantiene completos los errores, los tests fallidos y los avisos de seguridad.
Aun así a veces contesta en inglés. ¿Hay arreglo?
Es el issue #96326, abierto. Lo que ayuda: la regla de CLAUDE.md que nombra los mensajes de progreso y los resúmenes, y recordárselo cuando pase. Ninguna instrucción lo garantiza al 100 %.
¿Los subagentes también responden en español?
El estilo de salida no se aplica a los subagentes (salvo los forks). La documentación no aclara si language les llega, así que sus informes pueden venir en inglés; Claude te los resumirá en español si la regla lo pide.
¿Y la interfaz de Claude Code en español (menús, avisos)?
La documentación de language solo habla de las respuestas, el dictado por voz y los títulos de sesión; no promete traducir la interfaz. Además, desde la 2.1.309 los errores de los comandos git que Claude Code ejecuta para sí mismo se muestran en inglés aunque tu git esté en otro idioma.