¿Ventana de contexto llena en Claude Code? Compacta, limpia o reinicia
Cuando a Claude Code u otro agente de programación le queda poco contexto, elige entre compactar, limpiar o abrir una sesión nueva, y guarda las decisiones en un traspaso.
Cuando la ventana de contexto de Claude Code está casi llena, actúa por su cuenta: primero elimina la salida más antigua de las herramientas y, si hace falta, resume la conversación. Las instrucciones del principio pueden perderse, así que decide tú antes. Si sigues con la misma tarea, ejecuta /compact con una nota sobre lo que debe conservar. Si pasas a un trabajo sin relación, ejecuta /clear. Si el agente olvida decisiones una y otra vez, escribe un traspaso breve y empieza una sesión nueva a partir de él.
Otros agentes de programación pueden usar comandos distintos, pero las opciones son las mismas. Mono puede mostrar cuánto contexto está ocupado cuando el agente lo comunica, pero es el agente quien compacta y limpia.
1. Qué llena la ventana de contexto
El contexto contiene todo aquello con lo que trabaja el agente: tus mensajes y sus respuestas, los archivos que ha leído, la salida de comandos y pruebas, las listas de herramientas de los servidores MCP conectados y los archivos de instrucciones cargados al principio. Un solo registro largo de pruebas puede ocupar más que todo lo que has escrito.
Señales de que se está llenando:
- El agente incumple una regla que le diste antes.
- Pregunta algo que ya has respondido.
- Un aviso indica que queda poco contexto.
En Claude Code, /context muestra qué ocupa espacio. Su explicación de cómo funciona cuenta qué ocurre cuando se acerca al límite.
Un ejemplo inventado: tras dos horas pasando 30 archivos de «tidy-recipes» de una antigua función auxiliar de fechas, oldDate(), a una nueva, formatDate(), el agente vuelve a preguntar qué biblioteca usar. /context muestra la ventana casi llena.
2. Elige entre compactar, limpiar o empezar una sesión nueva
Compactar sustituye la conversación por un resumen dentro de la misma sesión. Limpiar o empezar una sesión nueva descarta la conversación, pero los archivos de instrucciones vuelven a cargarse. Cada opción pierde algo:
| Situación | Qué hacer | Qué pierdes |
|---|---|---|
| Misma tarea y va bien | Compactar con una nota de enfoque | Los detalles que el resumen omite |
| Lo siguiente es un trabajo sin relación | Limpiar, o empezar una sesión nueva | Toda la conversación |
| El agente olvida decisiones | Escribir un traspaso y empezar una sesión nueva | Lo que el traspaso deje fuera |
Una nota de enfoque le dice al resumen qué conservar: /compact Focus on date decisions and failing tests. La guía de Claude Code para gestionar los costes lo muestra y recomienda usar /rename antes de /clear para poder reabrir la sesión con /resume.
En el ejemplo, el agente ya ha olvidado una decisión, así que conviene escribir un traspaso.
3. Escribe un traspaso antes de reiniciar
Un traspaso es una nota breve para la nueva sesión. Escríbela tú o corrige el borrador del agente:
Goal: Replace oldDate() with formatDate() in recipes/ (30 files).
Done: 18 files, on branch tidy-dates.
Decisions: formatDate() uses Intl.DateTimeFormat, so no new library.
Keep oldDate() for importing v1 files, which use the old format.
Open problem: The recipes/print.ts test has failed since the change.
Next step: Fix print.ts, then move the remaining 12 files.Acompaña cada decisión de su motivo, o la siguiente sesión podría deshacerla. Guarda la nota en el proyecto o en tus notas y exporta la conversación por si necesitas sus detalles.
Después ejecuta /clear o empieza una sesión nueva en el mismo proyecto, y pega solo el traspaso, no la transcripción.
4. Saca del chat las reglas permanentes
Algunas correcciones importan más allá de una tarea. Si repites una y otra vez «usa la función de fechas del proyecto» o «ejecuta las pruebas con el script del proyecto», pon la regla en el archivo de instrucciones del proyecto, como AGENTS.md o el CLAUDE.md de Claude Code. Las sesiones nuevas leen ese archivo, así que un reinicio no la borra.
Mantén el archivo corto, porque se carga en todas las sesiones. La guía de costes recomienda que CLAUDE.md tenga menos de 200 líneas. El progreso, como «18 de 30 archivos», se queda en el traspaso. La guía de AGENTS.md explica qué incluir.
La regla de los archivos v1 del ejemplo también va ahí: sirve mientras sigan existiendo archivos v1.
5. Reduce lo que añade cada turno
Un contexto más pequeño dura más. Antes de cada petición:
- Nombra el archivo y la función, en vez de pedir «arregla las fechas».
- Pega las líneas de error relevantes, no el registro entero.
- Ejecuta solo las pruebas que necesitas y muestra solo los fallos.
- Desconecta los servidores MCP que el proyecto no usa.
- Pasa las búsquedas amplias a un subagente si el agente lo permite.
- Mantén una sola tarea por sesión.
La guía de costes trata casi todos estos puntos, incluido un hook que filtra la salida de las pruebas.
6. Pon a prueba al agente después de reiniciar
Antes de que la nueva sesión edite nada, pídele que repita el objetivo, las decisiones y el siguiente paso, y compara la respuesta con tu traspaso. En el ejemplo, debería mencionar la regla de v1 sin que se lo pidas. Si se le escapa algo, corrígelo ahora. Después revisa su primer diff, el arreglo de print.ts, antes de que siga. La guía de revisión de código incluye una lista de comprobación.
En Mono, cuando el agente comunica el uso, un pequeño anillo sobre el cuadro de mensaje muestra el contexto usado. Pasa de verde a naranja a la mitad y a rojo al 80 %, y al pulsarlo muestra «Contexto: usado / total». Al escribir «/» aparecen los comandos con barra que ofrece el agente. Según el Agent Client Protocol, anunciarlos es opcional. Para empezar de cero, guarda la conversación anterior con Exportar conversación y después elige Nueva sesión en la tarjeta del proyecto (también desde el móvil, cuando el ordenador está conectado). Mono aún no está disponible, pero puedes apuntarte a la lista de espera.
