TL;DR Enciende el estilo Concise en
/config→ Output style y abre una sesión nueva, porque el estilo se lee al arrancar. Lo que desaparece es el preámbulo ("voy a mirar los archivos") y el resumen final de lo que acaba de hacer. Lo que no desaparece, por regla explícita del propio estilo, son los errores, la salida de los tests que fallan, los avisos de seguridad y las confirmaciones antes de algo destructivo. Necesitas la v2.1.237 o superior.
Se lo pides en el prompt. Se lo dejas escrito en el CLAUDE.md. "Sé conciso", "no me resumas al final", "ve al grano". Y a los tres turnos vuelve la novela: el párrafo anunciando lo que va a hacer, el recuento de todo lo que ya has visto pasar por pantalla, la lista de viñetas donde bastaba una frase. Desde la v2.1.237 hay otra vía, y no consiste en pedírselo mejor.
Por qué pedirlo no funciona igual
Un output style no es una instrucción más de la conversación: modifica el system prompt de Claude Code, el bloque de instrucciones base que se carga antes de que tú escribas nada. Tu CLAUDE.md, en cambio, entra como un mensaje de usuario colocado después de ese bloque, compitiendo por atención con todo lo demás que le has ido diciendo.
Y Concise trae una línea de desempate que la mayoría de las instrucciones caseras no tienen: cuando sus reglas chocan con otras normas de comunicación o de formato del system prompt, ganan las suyas.
Las seis reglas que enciendes
El estilo le da a Claude seis instrucciones. No están en la documentación, que le dedica un párrafo: vienen del propio binario del cliente. Merece la pena leerlas porque explican exactamente qué vas a dejar de ver y qué no:
- Empieza por el resultado. La primera frase responde "qué ha pasado" o "cuál es la respuesta". Sin preámbulo y sin recapitulación final de lo que acaba de decir.
- Fuera el relato, dentro la sustancia. No repite tu petición, ni el plan, ni cada paso que ha dado. Reporta resultados, decisiones y lo que tengas que hacer tú.
- Corto por defecto. Las preguntas sencillas se responden en una a tres frases de prosa. Los títulos, las tablas y las viñetas solo aparecen cuando aportan estructura de verdad, nunca como decoración.
- Sin acolchado. Se salta el relleno de matices. Solo menciona una salvedad cuando cambia lo que deberías hacer a continuación.
- Detalle completo si lo pides. Cuando pides una explicación, responde entero. Ser conciso nunca significa ocultarte información que has pedido.
- Nunca cambia corrección por brevedad. Los informes de error, la salida de los tests que fallan, los avisos de seguridad y las confirmaciones de acciones destructivas conservan su contenido completo.
Esa sexta es la que hace que se pueda dejar puesto sin miedo. La brevedad se come la narración, no las malas noticias.
La diferencia en pantalla
Mismo fichero, misma pregunta, lanzada con claude -p en dos carpetas idénticas. La única diferencia es una línea en settings.local.json. Esto es la salida tal cual, recortada donde marca el [...].
Con Default:
`slug.js` exporta `slugify(s)`, que pasa la cadena a minúsculas y
reemplaza espacios por guiones.
Fallos:
1. **No elimina caracteres no válidos para una URL.** Símbolos como
`?`, `&`, `/`, `%`, `.`, `#`, etc. se quedan tal cual, así que
`slugify("¿Qué tal?")` da `"¿qué tal?"`, no un slug limpio.
2. **No normaliza acentos/diacríticos.** `"Café"` → `"café"`, no
`"cafe"`, lo cual suele ser indeseable en slugs (rompe consistencia
y algunos sistemas no manejan bien esos caracteres en URLs).
[...] tres fallos más, cada uno con su párrafo, y un bloque de código
con el fix completo antes de preguntar "¿Quieres que lo aplique?"
Con Concise:
`slugify` convierte un string a minúsculas y sustituye espacios por
guiones. Nada más.
Fallos:
- Solo reemplaza espacios simples; tabs, saltos de línea o espacios
múltiples no se colapsan (`"a b"` → `"a--b"`, no `"a-b"`).
- No elimina caracteres no alfanuméricos (`"café & té!"` →
`"café-&-té!"`), así que no genera slugs URL-safe.
- No quita guiones al principio/final ni colapsa guiones consecutivos.
- No normaliza acentos/diacríticos (dependiendo del caso de uso, puede
que quieras `"café"` → `"cafe"`).
Si el uso real es solo para strings ASCII simples de un solo espacio,
funciona. Si necesitas slugs robustos para URLs, dime y lo arreglo.
Los mismos fallos, encontrados con el mismo rigor. Lo que se ha caído es el andamio: las negritas decorativas, el párrafo por viñeta y el fix desplegado entero antes de que nadie lo pidiera.
Cómo se enciende
1. Elígelo en /config
/config → Output style → Concise. Claude Code guarda tu elección en el .claude/settings.local.json del proyecto, que es tu ajuste local y no se commitea.
2. Abre una sesión nueva
El output style forma parte del system prompt, y el system prompt se lee al arrancar la sesión. Si lo cambias a media conversación no notarás nada hasta el siguiente /clear o hasta la sesión siguiente. Mucha gente se queda ahí y concluye que el estilo no sirve.
3. Si lo quieres en todos tus proyectos
Ponlo a mano en tu configuración global, ~/.claude/settings.json:
{ "outputStyle": "Concise" }
Y si quieres que lo herede todo el equipo en un repo concreto, la misma línea va en .claude/settings.json, que ese sí se commitea.
Cuándo volver a Default
Concise reduce los tokens de salida, así que además de leer mejor gasta menos. Pero es lo contrario de un tutor: si estás aterrizando en un repo que no conoces y quieres que te explique lo que toca mientras trabaja, el estilo que quieres es Explanatory, no este. Y si en vez de un estilo de serie te montas el tuyo, cuidado: un output style custom borra las instrucciones de ingeniería salvo que lo evites con una línea de frontmatter.
Si has usado Grok o Composer, sabes de qué registro hablamos. Yo lo disfruto bastante.
Referencia
| Aspecto | Detalle |
|---|---|
| Nombre real | Output style Concise (mucha gente lo llama "modo Concise") |
| Encender | /config → Output style → Concise |
| Dónde se guarda | .claude/settings.local.json del proyecto |
| Global o de equipo | outputStyle en ~/.claude/settings.json o .claude/settings.json |
| Cuándo aplica | Al arrancar la sesión; tras cambiarlo, /clear o sesión nueva |
| Qué no recorta | Errores, tests que fallan, avisos de seguridad, confirmaciones destructivas |
| Alcance | Solo la conversación principal; los subagentes llevan su propio system prompt |
Documentación oficial: Output styles
Requisitos
- Claude Code v2.1.237 o superior