Dónde guarda Claude Code su scratchpad, y por qué desaparece
Cada sesión de Claude Code anuncia un directorio scratchpad y luego no vuelve a mencionarlo. Aquí tienes la ruta exacta en macOS, Linux y Windows, qué hay al lado, por qué un reinicio o una limpieza de temporales lo borra, qué puedes configurar y qué no, y la única regla que dimos a los siete agentes que escriben ahí cada noche.
Cada sesión de Claude Code empieza con una línea que seguramente pasas por alto. La nuestra, esta noche, dice esto:
Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad
Luego el CLI no vuelve a mencionarla. Ningún comando la lista, ningún panel la abre, y el día que vas a buscar el CSV que el agente dijo haber escrito ahí, puede que la carpeta ya no exista.
Hacemos correr siete agentes programados en un Mac mini cada noche, y cada uno escribe en esa carpeta. Así que fuimos a ver qué es, dónde vive en cada sistema, qué la borra, y qué les decimos a los agentes que hagan al respecto. Todo lo que sigue se comprobó en Claude Code 2.1.278 el 19 de septiembre de 2026, y en las issues de GitHub abiertas por gente que perdió trabajo ahí.
Lo que Claude Code le dice al agente
La línea forma parte del prompt de sistema. La instrucción que la sigue, en la versión actual, dice al agente que use siempre ese directorio para los archivos temporales, es decir resultados intermedios, scripts y salidas que no pertenecen al proyecto, en lugar de /tmp o cualquier otro directorio temporal del sistema; que es propio de la sesión y está aislado del proyecto; que en general puede usarse sin peticiones de permiso; y que /tmp solo debe usarse si tú lo pides explícitamente.
Esa última parte es la que te interesa. Los archivos escritos dentro del scratchpad no disparan el diálogo de permiso de escritura, y por eso el agente pone ahí sus scripts auxiliares y sus exportaciones en vez de preguntarte cada vez. También es por eso que nunca te preguntan, ni te dicen, adónde han ido.
Si quieres la ruta en una sesión en curso, pregúntale al agente. « Imprime tu directorio scratchpad » se responde desde el prompt de sistema, sin ejecutar nada.
La ruta, sistema por sistema
La carpeta está bajo el directorio temporal del sistema operativo, y su nombre codifica quién eres, en qué proyecto estabas y qué sesión era.
En macOS y Linux:
/tmp/claude-<uid>/<ruta del proyecto, barras sustituidas por guiones>/<id de sesión>/scratchpad
En un Mac, /tmp es un enlace a /private/tmp, así que la misma carpeta se muestra como /private/tmp/claude-501/…. El número es tu id de usuario, lo que imprime id -u: 501 para la primera cuenta de un Mac, 1000 en la mayoría de distribuciones Linux, 0 para root. El informe de Linux que citamos más abajo muestra /tmp/claude-0/, porque el pipeline corría como root en un contenedor. Las issues abiertas a principios de 2026 muestran /tmp/claude/<slug del proyecto>/… sin uid alguno, así que el sufijo se añadió por el camino. Si estás en una versión más antigua, quítalo.
En Windows, según lo reportado en Windows 11 en julio de 2026:
%TEMP%\claude\<slug del proyecto>\<id de sesión>\scratchpad
que normalmente se expande a C:\Users\<tú>\AppData\Local\Temp\claude\…. La ruta se deriva de la variable TEMP, así que si apuntas TEMP a otro sitio, el scratchpad la sigue.
El slug del proyecto es tu directorio de trabajo con cada barra convertida en guion. Nuestro repositorio vive en /Users/jbchauvin/Projets/AgentsRoom, así que el slug es -Users-jbchauvin-Projets-AgentsRoom. Una carpeta por proyecto, y dentro una carpeta por sesión.
Para listar todas las carpetas de sesión que aún te quedan para el usuario actual en un Mac o una máquina Linux:
ls /tmp/claude-$(id -u)/
Lo que hay al lado
La carpeta de sesión no es solo el scratchpad. En la máquina que ejecuta nuestros agentes nocturnos, siete de las nueve carpetas de sesión del día contienen dos entradas: scratchpad y tasks. La carpeta tasks es donde aterriza la salida de las tareas en segundo plano, los comandos que el agente lanza desacoplados y lee más tarde.
Hay un tercer sitio que debes conocer, y no está bajo el directorio temporal en absoluto: ~/.claude/projects/<slug del proyecto>/<id de sesión>/tool-results/. Cuando una herramienta devuelve más de lo que el contexto puede admitir, Claude Code guarda ahí la salida completa y le da la ruta al agente. Esta noche, una exportación de Search Console de 68 KB fue ahí en lugar de al scratchpad. Esa ubicación es permanente, junto a la transcripción de la sesión. Así que el reparto es: transcripciones y salidas de herramientas demasiado grandes bajo ~/.claude, que se queda; scripts, archivos intermedios y salida de tareas en segundo plano bajo el directorio temporal, que no se queda.
Por qué desaparece
Porque el directorio temporal significa « borrable » para todo sistema operativo, y nada en Claude Code lo discute.
En Linux, systemd-tmpfiles aplica lo que diga /usr/lib/tmpfiles.d/tmp.conf. Un usuario perdió toda la salida de un pipeline de generación de datos de 24 horas, veredictos de revisión, scripts y un virtualenv de Python incluidos, cuando el host se reinició: la regla en ese contenedor Debian era D /tmp 1777 root root 30d, que recrea /tmp vacío en cada arranque. Eso era Claude Code 2.1.260, y el prompt de sistema no había dicho nada sobre la volatilidad. Comprueba tu propia regla con cat /usr/lib/tmpfiles.d/tmp.conf: una línea D vacía al arrancar, una antigüedad como 10d elimina los archivos viejos con un temporizador.
En Windows, la carpeta está bajo %TEMP%, que el Sensor de almacenamiento y el Liberador de espacio en disco barren. En julio de 2026 alguien ejecutó una limpieza de disco mientras dos sesiones estaban activas y perdió los worktrees de git en los que ambos agentes trabajaban, ediciones sin commitear incluidas. Las ediciones se recuperaron solo porque aún existían en el contexto de la conversación.
En macOS, /private/tmp se vacía al reiniciar y el sistema elimina los archivos antiguos. En nuestro Mac mini esta noche, /private/tmp/claude-501 contiene nueve carpetas de sesión para este proyecto, 452 archivos y 25 MB, y nada más antiguo que el día. Lo que dejaron ahí los agentes de las noches anteriores ha desaparecido.
Nada de esto es un bug en el sentido de que algo haya funcionado mal. La carpeta está exactamente donde el CLI dice que está, y el sistema operativo hizo exactamente lo que hace con las carpetas temporales. La brecha es que el prompt lo llama scratchpad, y un scratchpad suena a algo que uno conserva.
Lo que puedes configurar, y lo que no
En 2.1.278 no hay ningún ajuste para la ubicación del scratchpad. La carpeta sigue al directorio temporal, así que TEMP en Windows y TMPDIR en Unix la mueven. CLAUDE_CODE_TMPDIR, que existe para otros archivos temporales, se reportó como que no mueve el scratchpad, y esa petición se cerró como no planificada. Lo mismo con las peticiones de una variable CLAUDE_CODE_SCRATCHPAD_DIR y de una ubicación por defecto bajo ~/.claude/scratchpad/. Una carpeta scratchpad visible en la app de escritorio es una petición de funcionalidad todavía abierta.
Dos cosas sí funcionan hoy. Una sesión reanudada (claude --resume) conserva su id de sesión, así que busca la misma carpeta, y la encuentra si nada la ha borrado entre tanto. Y puedes pedirle al agente, en lenguaje llano, que escriba tal archivo en algún sitio permanente. Esa es toda nuestra solución.
La regla que dimos a nuestros agentes nocturnos
Siete agentes arrancan a las 20:00 en la misma máquina: SEO, producto, redes sociales, un fixer, un documentalista, un informe CEO y un rapporteur que envía por correo el resumen de la noche a las 22:00. Cada uno produce mucho material intermedio: exportaciones de Search Console, JSON filtrados, scripts que cuentan cadenas en veinte locales. Todo eso va al scratchpad, a propósito, porque nada de eso pertenece al repositorio y nada debería disparar una petición de permiso a las dos de la madrugada.
La regla en cada prompt cabe en una frase: el scratchpad guarda lo que necesita el siguiente comando, el repositorio guarda lo que necesita la siguiente noche. Todo lo que un agente querrá leer mañana, su informe, su marcador de run, el archivo que estaba editando, se escribe bajo reports/nuit/<fecha>/ y se commitea en cuanto está terminado, no al final del run. Un agente cortado a mitad de tarea deja un informe parcial en git y 25 MB de archivos de trabajo que nadie echará de menos.
La imagen especular de esa regla es la que el usuario de Linux aprendió por las malas: nunca dejes que un trabajo largo acumule su única copia en el scratchpad. Si un pipeline corre durante un día, sus salidas van a una ruta que tú elegiste, y el scratchpad se queda con los auxiliares.
Abrir la carpeta sin salir de la app
Si ejecutas Claude Code dentro de AgentsRoom, File > Open File (Cmd/Ctrl+O) abre cualquier archivo de esa carpeta en la vista previa, marcado « Fuera del proyecto » para que no lo confundas con algo seguido por git. Es la forma más rápida que hemos encontrado de leer una exportación que el agente acaba de producir, sin pegar una ruta /private/tmp en un terminal.
Y para cerrar el círculo sobre el nombre: el Scratchpad de AgentsRoom es otra cosa. Es el editor de prompts integrado en el composer de agente, donde un prompt largo se escribe y se conserva como borrador por agente entre sesiones. Misma palabra, elegida antes de que Claude Code la usara para una carpeta. Uno es donde tú escribes al agente; el otro es donde el agente escribe para sí mismo.
Preguntas frecuentes
¿Dónde está el scratchpad de Claude Code en macOS y Linux?
Bajo el directorio temporal del sistema: /tmp/claude-<tu uid>/<ruta del proyecto, barras sustituidas por guiones>/<id de sesión>/scratchpad. En macOS la misma carpeta aparece como /private/tmp/claude-501/… porque /tmp es un enlace a /private/tmp. Tu uid es lo que imprime id -u: 501 para el primer usuario de un Mac, 1000 en la mayoría de distribuciones Linux, 0 para root. Las versiones antiguas usaban /tmp/claude/ sin el sufijo de uid.
¿Dónde está el scratchpad de Claude Code en Windows?
Bajo la carpeta TEMP: %TEMP%\claude\<slug del proyecto>\<id de sesión>\scratchpad, que normalmente se expande a C:\Users\<tú>\AppData\Local\Temp\claude\…. Cambiar la variable de entorno TEMP lo mueve, porque la ruta se deriva de TEMP y no de un ajuste de Claude Code.
¿Por qué ha desaparecido mi scratchpad de Claude Code?
Porque vive bajo el directorio temporal, y todo sistema operativo considera el directorio temporal como borrable. En Linux, systemd-tmpfiles aplica la regla escrita en /usr/lib/tmpfiles.d/tmp.conf, a menudo un vaciado al arrancar o al cabo de cierto número de días. macOS vacía /private/tmp al reiniciar y elimina los archivos antiguos. En Windows, el Sensor de almacenamiento y el Liberador de espacio en disco barren %TEMP%. Nada en Claude Code protege la carpeta de todo esto.
¿Puedo cambiar dónde pone Claude Code su scratchpad?
No con un ajuste dedicado, en Claude Code 2.1.278. La carpeta sigue al directorio temporal del sistema operativo, así que mover TEMP en Windows o TMPDIR en Unix la mueve. Las peticiones de una variable separada o de una ubicación persistente bajo ~/.claude se han cerrado como no planificadas. La opción fiable es decirle al agente que escriba en el proyecto todo lo que importe.
¿El scratchpad es lo mismo que ~/.claude/projects?
No. ~/.claude/projects/<slug del proyecto>/ contiene las transcripciones de sesión y, por sesión, una carpeta tool-results donde se guardan las salidas de herramientas demasiado grandes. Esa ubicación es permanente. El scratchpad bajo el directorio temporal es el espacio de trabajo que el agente usa para scripts y archivos intermedios, y ese es volátil.
¿Es esto el Scratchpad de AgentsRoom?
Misma palabra, otra cosa. El Scratchpad de AgentsRoom es el editor de prompts integrado en el composer de agente, donde escribes y conservas un borrador por agente. El scratchpad de Claude Code es una carpeta que el CLI crea para cada sesión. AgentsRoom puede abrir cualquier archivo de esa carpeta con File > Open File, marcado « Fuera del proyecto ».
Descargar AgentsRoom
Ejecuta todos tus agentes de IA, en todos tus proyectos, desde una sola ventana.
App complementaria: supervisa tus agentes en movimiento
Usa Claude, Codex, Antigravity CLI u otro proveedor de IA.
Envía bugs y peticiones directamente a tu backlog público.
Seguir leyendo
¿El Remote Control de Claude Code consume más tokens? ¿Y Codex tiene uno?
Dos preguntas que la gente escribe en Google desde que Anthropic lanzó Remote Control: si pilotar una sesión de Claude Code desde el móvil cuesta más tokens, y si existe un equivalente para Codex. Respuestas cortas: no, un turno es un turno lo escriba donde lo escriba, y sí pero solo existe la mitad. Esto es lo que es realmente Remote Control, cómo medir usted mismo la cuestión de los tokens en cuatro comandos, qué hace hoy codex remote-control, y cómo un control remoto móvil que nunca habla con un proveedor cambia las cuentas.
Leer el artículoUn agente de revisión no debería poder escribir. Así lo imponemos, CLI por CLI.
En un run de 17 nodos, el agente de release editó un test para poner en verde una suite roja, y luego dos agentes de revisión escribieron la misma corrección y chocaron entre sí. El prompt decía «solo revisar». No aguantó. El incidente, por qué una instrucción escrita no puede sostener esa regla, y los flags exactos que hacen que Claude Code, Codex, Grok, Antigravity y OpenCode se nieguen a escribir.
Leer el artículoDiez agentes lanzaron el mismo typecheck a la vez. La solución fue una carpeta.
Diecisiete agentes de código en el mismo checkout, diez procesos tsc a la vez, load average 37 y 87 MB de RAM libre. Un typecheck de noventa segundos tardó 7 min 36. Aquí está la medición, por qué la máquina no calculaba, y el pequeño bloqueo compartido que lo resolvió. Copiable en cualquier repositorio.
Leer el artículo