Saltar al contenido principal

Error al compactar en Claude Code: causa y solución por mensaje

«Error compacting conversation» en Claude Code solo avisa de que la compactación falló; la causa está en la línea de al lado, y de ella depende la salida.

LaoZhang AI TeamPublicado12 min de lectura
En esta página
Error al compactar en Claude Code: el aviso rojo, la causa en la línea de al lado y claude update como primer paso

El aviso rojo Error compacting conversation de Claude Code no es un diagnóstico: solo indica que la compactación (el resumen que libera la ventana de contexto) lanzó un error. La causa real está en la línea que aparece junto a él, por ejemplo Error during compaction: seguido del motivo, Conversation too long… o Prompt is too long · automatic compaction failed: seguido del error de fondo. Cada texto tiene una salida distinta.

El orden que menos trabajo te hace perder es este:

  1. Ejecuta claude update. Muchos fallos de compactación se corrigieron en versiones concretas; a 16 de octubre de 2026 la última es la 2.1.301.
  2. Busca tu mensaje exacto en la tabla de abajo.
  3. Recupera la sesión empezando por lo menos drástico: rebobinar con Esc dos veces, /compact con instrucciones de enfoque, quitar el adjunto pesado o, como último paso, guardar el estado en un archivo y hacer /clear.

Todo lo que sigue vale para Claude Code en la terminal y también en el IDE y la app de escritorio, donde funcionan los mismos comandos. La compactación del chat de claude.ai («Compacting our conversation so we can keep chatting») y la Compaction de la API son otros productos y no se tratan aquí.

Error compacting conversation: el aviso rojo solo envuelve el fallo

En la versión 2.1.301, Claude Code muestra esa notificación cada vez que una compactación termina en error, tanto si la lanzaste tú con /compact como si fue la compactación automática (auto-compact) o la parcial del menú de rebobinado (Summarize from here y Summarize up to here). La notificación no lleva el motivo; el motivo es el texto que sale en la conversación o en la línea de estado.

Hay tres casos en los que la compactación se detiene sin ese aviso rojo, porque no son fallos:

  • Pulsaste Esc mientras compactaba. Desde la 2.1.133 verás Compaction canceled.; antes salía por error la notificación roja.
  • No hay nada anterior que resumir: Not enough messages to compact.
  • Un hook PreCompact bloqueó la compactación.

Si sigues viendo el aviso al pulsar Esc, estás en una versión anterior a la 2.1.133, otro motivo para actualizar antes de investigar nada más.

Seis mensajes que acompañan al aviso Error compacting conversation en Claude Code y la primera salida de cada uno

Tabla de mensajes de compactación en Claude Code 2.1.301

Los textos de esta tabla corresponden a los incluidos en el ejecutable de Claude Code 2.1.301. La columna «Comprobado» separa lo que apareció en una prueba local de lo que procede de la documentación oficial, del registro de cambios o solo del texto del programa.

Mensaje que vesQué significaPrimera salidaComprobado
Error during compaction: seguido de un motivo/compact falló; el prefijo es fijo y el motivo real viene despuésBusca ese motivo en esta misma tablaTexto del programa
Conversation too long. Press esc twice to go up a few messages and try again.La conversación es tan grande que ni la petición de resumen cabe en la ventana de contextoActualiza; después Esc dos veces y vuelve unos mensajes atrás antes de reintentarRegistro de cambios (2.1.85 y 2.1.284)
Compaction failed · conversation could not be reduced below the context limitNi resumiendo se consiguió bajar del límite de contextoRebobina hasta antes del turno más pesado o guarda el estado y haz /clear (inferencia)Texto del programa
Compaction failed · attached media exceeds size limitsLas imágenes o documentos adjuntos superan el tamaño admitidoVuelve atrás hasta antes del turno que añadió el adjunto, o /clear (inferencia)Texto del programa
Compaction interrupted · This may be due to network issues — please try again.Se cortó la conexión o la respuesta durante el resumenComprueba la red y repite /compactTexto del programa
Prompt is too long · automatic compaction failed: seguido del error de fondoLa compactación automática falló por otro error, como un modelo no disponible o un fallo de autenticaciónResuelve primero ese error; /compact fallará igual hasta entoncesDocumentación oficial
Autocompact is thrashing: the context refilled to the limit within 3 turns…La compactación funcionó, pero un archivo o una salida de herramienta volvió a llenar el contexto tres veces seguidasLee el archivo por partes, /compact con foco o pasa el trabajo a un subagenteDocumentación oficial
Compaction blocked by PreCompact hook: seguido del comando y el motivoUn hook tuyo o del proyecto impide compactarRevisa o desactiva ese hook en tu configuraciónPrueba local
Not enough messages to compact.No hay mensajes anteriores que resumirSi el contexto está lleno, /clear y reenvía con menos texto pegadoPrueba local
/compact isn't available in this environment.La variable DISABLE_COMPACT=1 está activaQuita la variable si quieres compactarPrueba local
Compaction canceled.Cancelaste con EscNada; vuelve a lanzar /compact cuando quierasRegistro de cambios (2.1.133)

La prueba local se hizo el 16 de octubre de 2026 con Claude Code 2.1.301 en macOS, en modo no interactivo (claude -p) y con Haiku 5.5. En ella aparecieron tal cual el bloqueo por hook, Not enough messages to compact. y /compact isn't available in this environment.. No se reprodujeron Conversation too long, las dos variantes de Compaction failed, Compaction interrupted, el thrashing ni la propia notificación roja: hacen falta sesiones de cientos de miles de tokens o un corte de red. Para esas filas, el significado sale de la referencia de errores de Claude Code, de la guía de solución de problemas de Claude Code y del registro de cambios de Claude Code en GitHub.

Las salidas marcadas como «inferencia» no aparecen así en la documentación: se apoyan en lo que esta indica para el error Request too large, que pide volver atrás con Esc dos veces hasta antes del turno que añadió el contenido grande o empezar de cero con /clear.

Conversation too long y Prompt is too long al compactar

Son los dos textos que más se buscan y no significan lo mismo. Conversation too long es un fallo del propio /compact: el historial ya no cabía en la petición de resumen. Era habitual en 2025; la 2.1.85 corrigió que /compact fallara cuando la conversación había crecido demasiado para que cupiera la petición de compactación, y la 2.1.284 hace que, si el resultado sigue siendo demasiado largo, Claude Code compacte otra vez conservando menos conversación reciente. Si te sale en una versión actual, el mensaje mismo te da la salida: Esc dos veces, vuelve unos mensajes atrás y reintenta.

Prompt is too long es el error de la petición normal cuando la conversación y los adjuntos superan la ventana del modelo. En una sesión interactiva se muestra como Context limit reached · /compact or /clear to continue. Desde la 2.1.229, si la compactación automática falla en ese momento, el mensaje añade la causa tras automatic compaction failed:; antes salía solo Prompt is too long, sin pista. En Amazon Bedrock la misma condición llega como Input is too long for requested model., que Claude Code no reconocía antes de la 2.1.217; los demás mensajes de Bedrock están en Error 400 de Claude en AWS Bedrock: qué significa cada mensaje.

Recuperar la sesión tras el error al compactar, de menos a más drástico

Ve en este orden y para en cuanto la sesión vuelva a responder.

Seis pasos para recuperar la sesión de Claude Code tras un error al compactar, junto a lo que hace cada opción del menú de rebobinado

1. Guarda una copia de la conversación. /export sesion.txt escribe la conversación en texto plano; sin nombre de archivo abre un diálogo para copiarla o guardarla. Así tienes el historial aunque los pasos siguientes salgan mal.

2. Rebobina con Esc dos veces. Con el campo de entrada vacío, pulsa Esc dos veces (o escribe /rewind) para abrir el menú de rebobinado. Si hay texto en el campo, el primer doble Esc solo lo borra. Elige un mensaje y una acción:

  • Restore conversation devuelve la conversación a ese punto y mantiene el código tal como está. Es lo que pide Conversation too long: subir unos mensajes y volver a intentarlo.
  • Summarize up to here resume todo lo anterior a ese mensaje y deja intacto lo posterior. Sirve cuando el peso está en el historial antiguo.
  • Summarize from here resume desde ese mensaje hasta el final. Sirve cuando lo que llenó el contexto fue un tramo reciente, como una depuración larga.

Antes de confirmar un resumen puedes escribir qué debe conservar en la fila add context (optional). Ten en cuenta que estos resúmenes parciales también son compactaciones: si fallan, verás el mismo aviso rojo y conviene pasar al siguiente paso.

3. Lanza /compact con instrucciones de enfoque. Por ejemplo, /compact conserva solo el plan y el diff. Un resumen que descarta la salida grande tiene más margen para caber que uno que intenta guardarlo todo.

4. Quita el adjunto pesado. Si el problema son imágenes, PDF o un pegado enorme, usa Restore conversation en el mensaje anterior al que los añadió. La próxima vez, pasa la ruta del archivo en lugar de pegar su contenido, para que Claude lo lea por partes.

5. Arregla el error de fondo. Con Prompt is too long · automatic compaction failed:, lo que va detrás de los dos puntos manda: si es un modelo no disponible, cambia de modelo con /model; si es autenticación, vuelve a iniciar sesión. Hasta que no se resuelva, /compact falla con el mismo error.

6. Guarda el estado en archivos y haz /clear. Pide a Claude que escriba en un archivo de plan (o en el CLAUDE.md del proyecto, si son reglas duraderas) qué estaba haciendo, qué falta y qué decisiones se tomaron. Después ejecuta /clear y, en la sesión nueva, pídele que lea ese archivo. La conversación anterior no se borra: puedes volver a ella con /resume, y mientras no cierres Claude Code el menú de rebobinado muestra arriba una entrada (previous session) para recuperarla.

Algunos usuarios informan en Reddit y en GitHub de otros trucos que les funcionaron en versiones antiguas: salir de Claude Code, abrir la sesión con claude --resume y lanzar /compact, o encadenar /clear, /resume y /compact. No están documentados como solución oficial, pero no cuesta probarlos antes del paso 6.

Si la compactación se queda colgada: Esc, Ctrl+C y claude --resume

Si el resumen tarda demasiado, pulsa Esc: desde la 2.1.133 se cancela limpiamente con Compaction canceled. y la sesión sigue como estaba. Si la terminal no responde, la guía oficial de solución de problemas recomienda Ctrl+C y, si hace falta, cerrar la terminal. Reiniciar no borra la conversación: ejecuta claude --resume en el mismo directorio para retomarla.

En Mac hay un caso concreto: hasta la 2.1.290, si el equipo entraba en reposo durante la compactación automática, esta se rendía con Prompt is too long. Con la versión actual no deberías verlo.

Qué conserva Claude Code después de compactar

Saber qué sobrevive al resumen explica por qué conviene guardar el estado en archivos antes de un /clear. Según la documentación de la ventana de contexto, tras compactar:

  • El prompt de sistema y el estilo de salida siguen aplicándose.
  • El CLAUDE.md de la raíz del proyecto, las reglas sin paths:, la memoria automática (auto memory) y el plan escrito en modo plan se vuelven a cargar desde el disco.
  • Claude Code vuelve a leer hasta cinco de los archivos que Claude leyó o editó, los modificados más recientemente; uno de más de 5.000 tokens vuelve solo como referencia a su ruta.
  • Las skills invocadas se reinyectan con un límite de 5.000 tokens por skill y 25.000 en total.
  • Las reglas con paths: y los CLAUDE.md de subcarpetas quedan resumidos y no vuelven hasta que se toque de nuevo un archivo que los active.

Es decir: lo que esté en el CLAUDE.md raíz o en el plan sobrevive a cualquier compactación y a un /clear; lo que solo exista en la conversación depende de que el resumen lo recoja. Si quieres ordenar qué va en cada capa, tienes la Guía de memoria de Claude Code (2026): CLAUDE.md, auto memory y cuándo necesitas un plugin.

Auto-compact en Claude Code: cuándo salta y qué ajustes lo cambian

La compactación automática se activa cerca del límite de contexto del modelo. En los modelos con ventana nativa de 1 millón de tokens (Fable, Sonnet 5 y posteriores, Haiku 5.5, Opus 4.7 y posteriores) salta hacia los 967.000 tokens; en Sonnet y Opus 4.6 sin contexto ampliado, en 200.000. Si usas un alias de modelo de una pasarela que Claude Code no reconoce, asume 200.000, y por eso el error puede aparecer mucho antes de lo esperado; la 2.1.299 corrigió uno de esos casos.

Los ajustes que más se confunden:

AjusteAuto-compact/compact manual
DISABLE_COMPACT=1DesactivadoDesactivado (/compact isn't available in this environment.)
DISABLE_AUTO_COMPACT=1Desactivado, también la compactación por inactividadDisponible
autoCompactEnabled: false o el interruptor Auto-compact de /configDesactivadoDisponible
/autocompact con un tamaño, por ejemplo 500kActivado, salta al llegar a ese tamañoDisponible

/autocompact acepta valores entre 100K y 1M y, desde la 2.1.288, se guarda por modelo. La variable CLAUDE_CODE_AUTO_COMPACT_WINDOW (solo un número entero) tiene prioridad sobre el resto, y CLAUDE_AUTOCOMPACT_PCT_OVERRIDE solo puede bajar el porcentaje en que salta, no subirlo.

Desactivar auto-compact no evita el error: lo cambia por Context limit reached, y la documentación recomienda volver a activarlo o, si lo dejas apagado, ejecutar /compact tú antes de que se llene la ventana. Desde la 2.1.235 el aviso de límite añade auto-compact is off · /config to turn it on cuando el ajuste de /config es lo que lo tiene apagado.

Si lo que te molesta es que salte demasiado a menudo, mira qué ocupa el contexto con /context: suelen ser herramientas MCP o salidas enormes, y en Claude Code con MCP: cómo liberar contexto sin perder la tarea está cómo reducirlas. Desde la 2.1.299 también existe la compactación por inactividad: una conversación de más de 200.000 tokens que lleva unos 54 minutos parada se compacta antes de que caduque la caché de una hora; se desactiva con "idleCompaction": false. Cómo afecta eso a la factura lo tienes en Claude Code cache miss y coste de tokens: por que un turn sale caro.

Si el bloqueo viene de un hook PreCompact (puede impedir la compactación saliendo con código 2 o devolviendo {"decision":"block"}, desde la 2.1.105), revisa la sección hooks de tus archivos de configuración; cómo se definen está en Claude Code: hooks, comandos de barra y skills, ¿cuál usar?.

Versiones de Claude Code que corrigieron fallos de compactación

Este es el motivo de que claude update vaya primero. Correcciones del registro de cambios relacionadas con la compactación:

VersiónQué se corrigió
2.1.76Auto-compact dejaba de reintentar sin fin: ahora para tras 3 fallos seguidos
2.1.85/compact fallaba cuando la conversación ya no cabía en la propia petición de compactación
2.1.89Bucle de thrashing: ahora se detiene con un mensaje que dice qué hacer
2.1.113Compactar una sesión reanudada de contexto largo fallaba con Extra usage is required for long context requests
2.1.133Esc durante la compactación mostraba un falso Error compacting conversation
2.1.217/compact fallaba en Bedrock con Input is too long for requested model.
2.1.280Una sesión fallaba en cada turno y en /compact por un aviso MCP mal formado
2.1.282Si el modelo rechaza hacer el resumen, se reintenta con un modelo alternativo
2.1.284Prompt is too long persistía tras compactar; ahora compacta otra vez con menos contexto reciente
2.1.285Compactar o reanudar fallaba por marcadores de compactación mal formados
2.1.290Error null is not an object al compactar, y el reposo del Mac durante la compactación
2.1.299Nombres de modelo de pasarela que acababan en Prompt is too long · automatic compaction failed cerca de 200.000 tokens

Si el fallo se repite con la versión actual, repórtalo. /feedback abre un diálogo en el que eliges cuánto historial de la sesión incluir y confirmas antes de enviar nada. También puedes abrir un issue en el repositorio anthropics/claude-code de GitHub con la versión (claude --version), el mensaje exacto y qué estabas haciendo.

Preguntas frecuentes sobre el error al compactar en Claude Code

¿Rebobinar con Esc dos veces deshace mis cambios en el código?

Solo si eliges una opción que restaure código. Restore conversation y las dos opciones de Summarize no tocan los archivos; Restore code y Restore code and conversation sí los devuelven al estado de ese punto. Los comandos que Claude ejecutó por Bash no se registran en los puntos de control, así que no se deshacen.

¿Desactivar auto-compact evita el error al compactar?

No. Sin compactación automática, la conversación acaba chocando con el límite y ves Context limit reached · /compact or /clear to continue. Lo útil es dejarlo activado y reducir lo que llena el contexto, o ajustar con /autocompact cuándo salta.

¿Sirve esto para el chat de claude.ai?

No. El aviso de compactación del chat de claude.ai y la Compaction de la API de Claude son productos distintos de Claude Code; los comandos de esta página (/compact, /rewind, /clear) solo existen en Claude Code.

Fuentes4

Páginas externas que cita esta guía, en el orden en que aparecen. Última actualización: 16 oct 2026.

  1. 1.referencia de errores de Claude Codecode.claude.com/docs/es/errors
  2. 2.guía de solución de problemas de Claude Codecode.claude.com/docs/es/troubleshooting
  3. 3.registro de cambios de Claude Code en GitHubgithub.com/anthropics/claude-code/blob/main/CHANGELOG.md
  4. 4.repositorio anthropics/claude-code de GitHubgithub.com/anthropics/claude-code/issues
Distribución del contexto de trabajo de Claude Code con herramientas MCP
Claude Code

Claude Code con MCP: cómo liberar contexto sin perder la tarea

Empieza por /context all: si la carga aparece al conectar herramientas, revisa su descubrimiento; si llega con una respuesta enorme, reduce la consulta; si se acumula tras varios intentos, conserva el estado antes de compactar.

9 min