TL;DR Un output style custom reemplaza las instrucciones de ingeniería de Claude Code por defecto, no las suma. Si creas un estilo "persona" sin más, pierdes cómo acota cambios, escribe comentarios y verifica el trabajo. Una línea de frontmatter lo arregla:
keep-coding-instructions: truesuperpone tu estilo en vez de borrar la base.
Actualización, 31 de octubre de 2026: el comando
/output-styleha vuelto en la v2.1.269 para listar y cambiar de estilo, también en sesiones headless, en la nube y por Remote Control, y un cambio a mitad de sesión se aplica desde tu siguiente mensaje, sin/clear.
Creas tu primer output style. Le das una voz, un formato, una persona. Y de repente Claude empieza a programar peor: deja cambios a medias, no verifica, mete comentarios donde no toca. No es el modelo: es que tu output style ha borrado las instrucciones de ingeniería que traía de serie, y nadie te avisó.
Por qué pasa
Un output style modifica el system prompt. La doc oficial lo dice sin rodeos: "Custom output styles leave out Claude Code's built-in software engineering instructions, such as how to scope changes, write comments, and verify work, unless keep-coding-instructions is set to true." Y ese flag, por defecto, es false.
Es decir: cuando defines un estilo propio, Claude Code asume que ya no estás programando (un asistente de escritura, un analista de datos) y quita la capa de ingeniería. Útil si de verdad no programas. Un disparo en el pie si solo querías cambiar el tono.
El arreglo: una línea
En tu archivo de output style (~/.claude/output-styles/mi-estilo.md para todos los proyectos, o .claude/output-styles/ para uno):
---
name: Diagramas primero
description: Empieza cada explicación con un diagrama
keep-coding-instructions: true
---
Al explicar código o arquitectura, empieza con un diagrama Mermaid
de la estructura y luego explícalo en prosa.
Con keep-coding-instructions: true, tu instrucción se añade encima del comportamiento de ingeniería. Sin esa línea, lo sustituye.
Cuándo cada uno
| Quieres… | keep-coding-instructions |
|---|---|
| Cambiar el tono/formato, pero sigues programando | true |
| Que Claude deje de ser ingeniero (escritura, análisis) | déjalo fuera (false) |
Cómo cambiar de estilo (ojo, esto cambió)
El comando /output-style se deprecó en la v2.1.73 y se eliminó en la v2.1.91, pero volvió en la v2.1.269. Ahora tienes tres vías:
/output-style <estilo>para cambiar, por ejemplo/output-style concise. Sin argumento, lista los estilos y marca el actual. Funciona también en sesiones headless y en la nube, y por Remote Control desde el móvil o la web, donde solo ofrece los estilos de serie./config→ Output style para elegir del menú (se guarda en.claude/settings.local.json).- O fija el campo directamente:
{ "outputStyle": "Explanatory" }
Si cambias de estilo a mitad de sesión, Claude lo usa desde tu siguiente mensaje, sin /clear ni sesión nueva. Lo que Claude Code lee al arrancar son los archivos de estilo: si creas o editas uno con la sesión abierta, reinicia Claude Code para que lo vea.
Referencia
| Campo (frontmatter) | Qué hace | Por defecto |
|---|---|---|
name |
Nombre del estilo (si no, el del archivo) | nombre de archivo |
description |
Texto en el picker de /config |
ninguno |
keep-coding-instructions |
Mantiene las instrucciones de ingeniería | false |
Esto NO es lo mismo que CLAUDE.md: el output style cambia el system prompt (rol, tono, formato); CLAUDE.md añade un mensaje con el contexto de tu proyecto sin tocar la base. Para una adición puntual de una sola invocación, usa --append-system-prompt. Y si en vez de montar tu propio estilo te vale con uno de serie, tienes el estilo Explanatory como tutor cuando quieras que te explique el repo mientras trabaja, y el estilo Concise cuando quieras justo lo contrario, que deje de narrar y empiece por el resultado.
Documentación oficial: Output styles
Requisitos
- Claude Code v2.1.x (el campo
keep-coding-instructionsy/config);/output-style <estilo>desde la v2.1.269, y el cambio a mitad de sesión sin/cleardesde la v2.1.251.