SSD Nodes Learn Hosting plans →
Guías Matt ConnorPor Matt Connor · Actualizado 2026-08-28

Estilos de salida de Claude Code: guía y configuración

Los estilos de salida modifican el prompt del sistema y cada respuesta. Conozca los 5 estilos integrados, el efecto en la transcripción y cómo crear uno propio.

Qué es un estilo de salida en Claude Code

Un estilo de salida en Claude Code es un bloque de instrucciones que Claude Code añade a su prompt del sistema. Cambia la forma en que Claude responde: el rol que adopta y la estructura de lo que imprime. No enseña a Claude nada sobre el código base ni puede concederle permiso para ejecutar acciones.

Claude Code incluye cinco estilos integrados. La selección se guarda en una clave de configuración, outputStyle, y esa clave se lee una sola vez al iniciar la sesión. Este hecho explica gran parte de la confusión en torno a esta función: si cambia de estilo a mitad de una sesión, el cambio se guarda, pero se ignora hasta que borre la sesión.

En un VPS, esto no es sólo una preferencia estética. La transcripción es lo que lee a través de una conexión SSH (secure shell), normalmente dentro de una ventana de tmux. Por tanto, cada línea que Claude describe es una línea que debe esperar y una línea del búfer de desplazamiento de tamaño fijo.

Dónde se encuentra la configuración outputStyle

Seleccione un estilo en el menú /config, en Output style. Claude Code escribe la selección en .claude/settings.local.json, dentro del proyecto en el que está trabajando.

El comando independiente /output-style ya no existe. Se marcó como obsoleto en v2.1.73 y se eliminó en v2.1.91, por lo que no hace nada en una versión actual. Compruebe qué versión está ejecutando antes de seguir una guía antigua. Las versiones de esta página se comprobaron en agosto de 2026.

claude --version

También puede establecer la clave manualmente. Puede aparecer en cuatro archivos de configuración. El archivo más específico tiene prioridad sobre el más general.

  • ~/.claude/settings.json es el archivo de usuario. Se aplica a todos los proyectos de ese equipo.
  • .claude/settings.json es el archivo del proyecto. Se confirma en git, por lo que se aplica a todas las personas que clonen el repositorio.
  • .claude/settings.local.json es el archivo local del proyecto. No se confirma en git y tiene prioridad sobre los dos anteriores. Este es el archivo que modifica el menú /config.
  • La configuración administrada, distribuida por un equipo de TI desde una ruta del sistema como /etc/claude-code/ en Linux, tiene prioridad sobre todo lo demás.

El valor de la clave es el nombre del estilo:

{
  "outputStyle": "Concise"
}

Para una sola sesión, pase la misma clave en la línea de comandos. La opción --settings acepta una ruta o una cadena JSON insertada directamente. Sus valores tienen prioridad sobre las mismas claves de los archivos de configuración durante esa ejecución:

claude --settings '{"outputStyle": "Concise"}'

Las etiquetas de los menús y los comandos slash han cambiado al menos una vez desde que se introdujo esta función. La clave outputStyle no ha cambiado. Si una captura de pantalla de una guía deja de coincidir con lo que aparece en su pantalla, establezca la clave directamente y confírmela con /status, que muestra las fuentes de configuración activas.

Por qué el nuevo estilo de salida no hace nada hasta que se inicia una sesión nueva

Claude Code crea el prompt del sistema una vez, cuando se inicia la sesión, y el estilo de salida forma parte de ese prompt del sistema. Por eso, cambiar el ajuste mientras la sesión está activa sólo guarda el valor y no produce ningún cambio visible: la sesión en ejecución sigue enviando el prompt que creó al iniciarse. El nuevo estilo se carga en el siguiente /clear o en el siguiente inicio.

/clear
/context

/context muestra qué está ocupando actualmente la ventana de contexto, desglosado por categoría, incluido el prompt del sistema. Ejecútelo en una sesión nueva con cada estilo. La línea del prompt del sistema es la parte de entrada de la comparación. También es la forma más rápida de confirmar que se ha cargado un estilo personalizado. Para obtener una visión más amplia de qué llena esa ventana, consulte cómo se llena el contexto en una sesión larga de Claude Code.

El ajuste espera en lugar de aplicarse en tiempo real por un motivo. La API atiende las solicitudes repetidas desde una caché de prompts que coincide con el inicio de cada solicitud, y el prompt del sistema se encuentra justo al principio. Reescribirlo durante la conversación invalidaría todo lo que viene después. Por tanto, el siguiente turno tendría que volver a procesar todo el historial como una entrada nueva. Fijar el estilo al inicio de la sesión evita ese coste. Cambiar de estilo es sencillo. Sólo hace falta iniciar una sesión nueva.

Qué cambia cada estilo de salida integrado en la transcripción

  • Predeterminado es el mensaje del sistema normal de Claude Code, escrito para tareas de ingeniería de software.
  • Conciso empieza por el resultado. Omite la introducción y la narración paso a paso, y mantiene las respuestas breves hasta que pida más detalles. El trabajo de ingeniería que hay detrás no cambia. Nunca acorta un informe de errores ni una advertencia de seguridad, y sigue pidiendo confirmación completa antes de una acción destructiva. Este estilo requiere Claude Code v2.1.237 o posterior.
  • Explicativo añade "Conclusiones" educativas entre los pasos de una tarea. Explica por qué se tomó una decisión de implementación y qué patrón utiliza ya su base de código. La transcripción se alarga de forma intencionada.
  • Aprendizaje va más allá. Claude comparte esas conclusiones y después le pide que escriba por sí mismo pequeñas partes del código. Marca cada punto con un comentario TODO(human) en el archivo.
  • Proactivo hace que Claude actúe en lugar de preguntar. Toma decisiones razonables sobre tareas rutinarias en vez de detenerse para pedir confirmación.

Lea con atención el último estilo, porque es el que más se malinterpreta. Proactivo es una instrucción del mensaje del sistema. Cambia lo que Claude intenta hacer. El modo de permisos sigue determinando qué se ejecuta realmente sin preguntarle. Este es el ajuste importante en un servidor que deja funcionando sin supervisión. Esto se explica en el modo automático y los modos de permisos de Claude Code.

Cómo se diferencia un estilo de salida de CLAUDE.md, un hook y un subagente

Todas estas opciones parecen indicarle a Claude cómo debe comportarse, pero funcionan en capas diferentes.

  • Un estilo de salida se añade al prompt del sistema. Se aplica a todas las respuestas de la conversación principal.
  • CLAUDE.md se añade como un mensaje del usuario después del prompt del sistema. Ahí deben definirse las convenciones del proyecto y los datos de la base de código.
  • --append-system-prompt añade texto al prompt del sistema para una sola ejecución, sin eliminar nada. Es la versión puntual de un estilo de salida.
  • Un hook es un comando de shell que Claude Code ejecuta cuando se produce un evento. El entorno de ejecución lo impone, por lo que se ejecuta aunque Claude no lo hubiera elegido. Consulte qué puede hacer un hook de Claude Code y qué no puede hacer.
  • Un subagente se ejecuta con su propio prompt del sistema y su propio conjunto de herramientas.

Una prueba breve permite decidir entre las dos primeras opciones. Los datos sobre el proyecto deben ir en CLAUDE.md, porque Claude necesita conocerlos. La redacción debe ir en un estilo de salida, porque determina cómo se lee la respuesta. Todo lo que deba ocurrir siempre, independientemente de lo que decida el modelo, debe implementarse como un hook. La capa en la que se encuentra cada superficie es una propiedad de el programa que ejecuta el modelo, no del modelo en sí. Por eso, un estilo sólo puede influir, mientras que un hook puede imponer el cumplimiento.

Los estilos de salida sólo se aplican a la conversación principal. Un subagente no hereda el estilo, porque inicia su propia conversación con su propio prompt del sistema. Una bifurcación de la conversación actual es la excepción, ya que hereda exactamente el prompt del sistema del proceso principal. Si un subagente escribe de una forma que no le gusta, edite el archivo de ese agente en lugar de su estilo. Una segunda sesión de Claude Code en el mismo equipo sigue el mismo límite y lee sus propios archivos de configuración al iniciarse. Por tanto, cuando delegue trabajo a otra sesión que se ejecuta en paralelo, sus respuestas seguirán el estilo que esa sesión haya cargado, no el suyo.

Cómo escribir tu propio estilo de salida

Un estilo de salida personalizado es un archivo Markdown con frontmatter. Guárdalo en tu directorio personal para usarlo en todos los proyectos, o dentro del repositorio para mantenerlo junto con el código. El directorio del usuario es ~/.claude/output-styles/ y el directorio del proyecto es .claude/output-styles/.

mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---

Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.

Do not narrate what you are about to do. Report what you did.

When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOF

Inicia una sesión y abre /config. Tu estilo aparece en la lista Output style con la descripción que escribiste. Si no aparece, el archivo no se está leyendo: comprueba la ruta y verifica que el bloque de frontmatter --- sea lo primero del archivo. El nombre del archivo se convierte en el nombre del estilo, salvo que el frontmatter establezca name. Por eso este se llama Terse ops y no terse-ops.

Selecciónalo o establece la clave con ese nombre exacto y borra:

{
  "outputStyle": "Terse ops"
}

Un campo determina si el archivo es un ajuste o un reemplazo. keep-coding-instructions toma false de forma predeterminada, lo que significa que un estilo personalizado elimina las instrucciones integradas de ingeniería de software de Claude Code y funciona sólo con tu texto. Esas instrucciones integradas indican a Claude cómo delimitar un cambio y cómo verificar su trabajo. Omite el campo para un asistente de escritura o un analista de datos, cuando nada de eso se aplica. Establécelo en true para cualquier caso que siga afectando al código; de lo contrario, te preguntarás por qué un ingeniero cuidadoso dejó de comprobar su propio trabajo. Si lo que realmente buscas no es una voz diferente, sino una definición más precisa de cuánto trabajo merece una tarea, eso corresponde a las instrucciones de ingeniería y no al archivo de estilo: la skill Ponytail es un ejemplo práctico, una sola regla que orienta al agente hacia el cambio funcional más pequeño.

description es la línea que muestra el selector /config junto al nombre. Escríbela pensando en el momento en que, dentro de seis meses, tengas que elegir entre dos de tus propios estilos.

Por qué un estilo conciso es diferente a través de SSH

En un VPS, el registro de la sesión pasa por varias capas que no existen en un terminal local, y cada una penaliza la verbosidad.

La primera es el historial de desplazamiento. En tmux, cada panel conserva un número fijo de líneas, definido por history-limit, cuyo valor predeterminado es 2000. Un registro narrado llena ese búfer más rápido, por lo que la parte inicial de la sesión se elimina antes y desaparece la salida a la que quería volver. Auméntelo si necesita más espacio:

echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.conf

Los paneles creados después de ese cambio conservan 20000 líneas cada uno, a costa de usar más memoria por panel. Los paneles que ya están abiertos mantienen el límite anterior, porque el tamaño del búfer se fija al crear el panel. Si todavía está configurando la distribución de la sesión, ejecutar Claude Code dentro de tmux en un VPS explica cómo hacerlo.

La segunda es la latencia. La respuesta se transmite al terminal a medida que se genera. En una conexión con un tiempo de ida y vuelta alto, un preámbulo largo es tiempo que pasa observando cómo aparece el texto antes de que llegue la respuesta.

La tercera son los tokens de salida. Cada línea narrada se factura como salida. Explanatory y Learning son más largos por diseño. Concise es más corto por diseño, porque indica a Claude que mantenga las respuestas breves de forma predeterminada.

No confíe en ningún porcentaje, incluido el de esta página. La diferencia depende de sus instrucciones, del modelo y del trabajo que solicite, así que mida sus propios resultados antes y después. Ejecute la misma tarea real en dos sesiones nuevas, una con Default y otra con Concise, y después compare los resultados. Una línea de estado es el medidor más sencillo, porque Claude Code entrega a su script un objeto JSON por stdin que ya contiene tanto el nombre del estilo como los recuentos de tokens:

cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.sh

Asigne el ajuste statusLine a ese script:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

La barra situada en la parte inferior de la sesión muestra ahora el estilo activo junto a los tokens que ha producido. Eso proporciona exactamente la comparación que necesita entre el antes y el después. El script necesita jq, el analizador JSON de línea de comandos, así que instálelo primero con sudo apt install -y jq. Si la barra permanece vacía, ejecute el script manualmente y envíele algún JSON mediante una tubería, porque una línea de estado que termina con un código distinto de cero no muestra ni informa de nada. Una línea de estado personalizada para Claude Code enumera el resto de campos de ese objeto. Para conocer la facturación y no sólo el estado de la sesión, consulte adónde van realmente los tokens de Claude Code y las herramientas que registran el gasto de Claude Code.

Cómo comprobar qué estilo de salida está cargado realmente

Use estas comprobaciones en lugar de hacer suposiciones.

  • /status muestra las fuentes de configuración activas para esta sesión, incluido si se están aplicando configuraciones administradas por una organización.
  • /context muestra el system prompt cargado como una categoría en el desglose de la ventana de contexto.
  • claude doctor, ejecutado desde el shell sin iniciar una sesión, muestra diagnósticos de instalación y configuración, e informa de los archivos de configuración que no son válidos.

Cuando un estilo no se aplica, la causa casi siempre es una de estas dos. La primera es que lo cambió durante la sesión; en ese caso, ejecute /clear. La segunda es la precedencia: .claude/settings.local.json tiene prioridad sobre .claude/settings.json, y ambos tienen prioridad sobre ~/.claude/settings.json. El selector /config escribe en el archivo local. Por eso, un estilo que el equipo haya confirmado en .claude/settings.json queda anulado silenciosamente en cualquier máquina donde alguien haya usado el menú alguna vez. /status indica qué fuente ganó.

Un error de sintaxis JSON produce el mismo síntoma, pero se corrige de otra forma. claude doctor indica el nombre del archivo que no pudo analizar, por lo que conviene ejecutarlo antes de buscar una causa más compleja.

FAQ

¿Por qué el comando /output-style dejó de funcionar?

Se marcó como obsoleto en v2.1.73 y se eliminó en v2.1.91, por lo que el comando ya no existe en una compilación de mediados de 2026. Ejecute claude --version para comprobar qué versión tiene. Elija el estilo en /config, en Output style, o establezca la clave outputStyle en un archivo de configuración. La clave ha sobrevivido al comando, por lo que establecerla directamente es la instrucción que conviene anotar.

Cambié el estilo de salida y no ocurrió nada. ¿Por qué?

El estilo de salida forma parte del prompt del sistema, y Claude Code crea el prompt del sistema una vez, cuando se inicia la sesión. Un cambio realizado durante la sesión se guarda, pero no se aplica, porque la sesión en ejecución sigue enviando el prompt que creó al iniciarse. Ejecute /clear o inicie una sesión nueva. Si sigue sin aplicarse, ejecute /status para comprobar qué origen de configuración prevaleció, ya que .claude/settings.local.json tiene prioridad sobre .claude/settings.json y ambos tienen prioridad sobre ~/.claude/settings.json.

¿El estilo de salida Concise permite ahorrar dinero?

Reduce los tokens de salida en la dirección esperada, porque indica a Claude que mantenga las respuestas breves de forma predeterminada. El ahorro depende de los prompts y del modelo que utilice, por lo que debe considerar cualquier porcentaje publicado como una medición del trabajo de otra persona. Mida sus propios resultados: ejecute /context en una sesión nueva con cada estilo para la entrada; después, ejecute la misma tarea con cada estilo y compare el número de tokens de salida. Concise nunca acorta un informe de errores ni una advertencia de seguridad, por lo que las partes que más necesita leer permanecen completas.

¿Un cambio de estilo de salida modifica la forma en que escriben mis subagentes?

No. Los estilos de salida sólo se aplican a la conversación principal, porque un subagente inicia su propia conversación con su propio prompt del sistema y su propio conjunto de herramientas. Una bifurcación de la conversación actual es la excepción, ya que hereda exactamente el prompt del sistema del proceso principal. Para cambiar la forma en que responde un subagente, edite el archivo propio de ese agente.

¿Un estilo de salida permite que Claude ejecute comandos sin preguntar?

No. Un estilo de salida es texto incluido en el prompt del sistema, por lo que sólo puede influir en lo que Claude intenta hacer. El estilo Proactive hace que Claude suponga y actúe en lugar de detenerse ante decisiones rutinarias, pero aun así no puede aprobar un comando. El modo de permisos determina qué se ejecuta sin solicitar confirmación. Compruebe esa configuración antes de dejar una sesión en ejecución en un servidor.