Onde o Claude Code guarda seu scratchpad, e por que ele desaparece

Toda sessão do Claude Code anuncia um diretório scratchpad e depois nunca mais fala dele. Aqui está o caminho exato no macOS, Linux e Windows, o que fica ao lado, por que uma reinicialização ou uma limpeza de temporários o apaga, o que você pode ou não configurar, e a única regra que demos aos sete agentes que escrevem nele toda noite.

Toda sessão do Claude Code começa com uma linha que você provavelmente passa batido. A nossa, esta noite, diz o seguinte:

Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad

Depois o CLI nunca mais fala dela. Nenhum comando a lista, nenhum painel a abre, e no dia em que você vai procurar o CSV que o agente disse ter escrito lá, a pasta pode já ter sumido.

Rodamos sete agentes agendados em um Mac mini toda noite, e cada um deles escreve nessa pasta. Então fomos ver o que ela é, onde vive em cada sistema, o que a apaga, e o que dizemos aos agentes para fazer a respeito. Tudo abaixo foi verificado no Claude Code 2.1.278 em 19 de setembro de 2026, e nas issues do GitHub abertas por quem perdeu trabalho nela.

O que o Claude Code diz ao agente

A linha faz parte do prompt de sistema. A instrução que vem depois dela, na versão atual, diz ao agente para usar sempre esse diretório para arquivos temporários, ou seja resultados intermediários, scripts e saídas que não pertencem ao projeto, em vez de /tmp ou qualquer outro diretório temporário do sistema; que ele é específico da sessão e isolado do projeto; que em geral pode ser usado sem pedidos de permissão; e que /tmp só deve ser usado se você pedir explicitamente.

Essa última parte é a que interessa a você. Arquivos escritos dentro do scratchpad não disparam o diálogo de permissão de escrita, e é por isso que o agente coloca ali seus scripts auxiliares e suas exportações em vez de perguntar a você toda vez. Também é por isso que nunca perguntam, nem contam, para onde eles foram.

Se você quer o caminho em uma sessão em andamento, pergunte ao agente. « Imprima seu diretório scratchpad » é respondido a partir do prompt de sistema, sem executar nada.

O caminho, sistema por sistema

A pasta fica sob o diretório temporário do sistema operacional, e seu nome codifica quem você é, em que projeto você estava e qual sessão era.

No macOS e no Linux:

/tmp/claude-<uid>/<caminho do projeto, barras trocadas por hífens>/<id de sessão>/scratchpad

Em um Mac, /tmp é um link para /private/tmp, então a mesma pasta é mostrada como /private/tmp/claude-501/…. O número é o seu id de usuário, o que id -u imprime: 501 para a primeira conta de um Mac, 1000 na maioria das distribuições Linux, 0 para root. O relato de Linux que citamos abaixo mostra /tmp/claude-0/, porque o pipeline rodava como root em um contêiner. Issues abertas no começo de 2026 mostram /tmp/claude/<slug do projeto>/… sem uid nenhum, então o sufixo foi acrescentado no caminho. Se você está em uma versão mais antiga, tire-o.

No Windows, conforme relatado no Windows 11 em julho de 2026:

%TEMP%\claude\<slug do projeto>\<id de sessão>\scratchpad

que normalmente se expande para C:\Users\<você>\AppData\Local\Temp\claude\…. O caminho é derivado da variável TEMP, então se você apontar TEMP para outro lugar, o scratchpad vai junto.

O slug do projeto é seu diretório de trabalho com cada barra trocada por um hífen. Nosso repositório vive em /Users/jbchauvin/Projets/AgentsRoom, então o slug é -Users-jbchauvin-Projets-AgentsRoom. Uma pasta por projeto, e dentro dela uma pasta por sessão.

Para listar todas as pastas de sessão que ainda restam para o usuário atual em um Mac ou uma máquina Linux:

ls /tmp/claude-$(id -u)/

O que fica ao lado

A pasta de sessão não é só o scratchpad. Na máquina que roda nossos agentes noturnos, sete das nove pastas de sessão do dia contêm duas entradas: scratchpad e tasks. A pasta tasks é onde cai a saída das tarefas em segundo plano, os comandos que o agente executa desacoplados e lê mais tarde.

Há um terceiro lugar que você deveria conhecer, e ele não fica sob o diretório temporário de jeito nenhum: ~/.claude/projects/<slug do projeto>/<id de sessão>/tool-results/. Quando uma ferramenta retorna mais do que o contexto consegue receber, o Claude Code salva ali a saída completa e dá o caminho ao agente. Esta noite, uma exportação do Search Console de 68 KB foi para lá em vez de para o scratchpad. Esse local é permanente, ao lado da transcrição da sessão. Então a divisão é: transcrições e saídas de ferramentas grandes demais sob ~/.claude, que fica; scripts, arquivos intermediários e saída de tarefas em segundo plano sob o diretório temporário, que não fica.

Por que ele desaparece

Porque diretório temporário significa « descartável » para todo sistema operacional, e nada no Claude Code discute isso.

No Linux, o systemd-tmpfiles aplica o que /usr/lib/tmpfiles.d/tmp.conf diz. Um usuário perdeu toda a saída de um pipeline de geração de dados de 24 horas, vereditos de revisão, scripts e um virtualenv Python incluídos, quando o host reiniciou: a regra naquele contêiner Debian era D /tmp 1777 root root 30d, que recria /tmp vazio a cada inicialização. Era o Claude Code 2.1.260, e o prompt de sistema não tinha dito nada sobre volatilidade. Verifique a sua própria regra com cat /usr/lib/tmpfiles.d/tmp.conf: uma linha D esvazia na inicialização, uma idade como 10d remove os arquivos antigos por temporizador.

No Windows, a pasta fica sob %TEMP%, que o Sensor de Armazenamento e a Limpeza de Disco varrem. Em julho de 2026 alguém rodou uma limpeza de disco enquanto duas sessões estavam ativas e perdeu os worktrees git em que os dois agentes estavam trabalhando, edições não commitadas incluídas. As edições só foram recuperadas porque ainda existiam no contexto da conversa.

No macOS, /private/tmp é esvaziado ao reiniciar e os arquivos antigos são removidos pelo sistema. No nosso Mac mini esta noite, /private/tmp/claude-501 contém nove pastas de sessão para este projeto, 452 arquivos e 25 MB, e nada mais velho que o dia. O que os agentes das noites anteriores deixaram lá sumiu.

Nada disso é um bug no sentido de que algo tenha se comportado mal. A pasta está exatamente onde o CLI diz que está, e o sistema operacional fez exatamente o que faz com pastas temporárias. A lacuna é que o prompt a chama de scratchpad, e um scratchpad soa como algo que você guarda.

O que você pode configurar, e o que não pode

No 2.1.278 não existe configuração para a localização do scratchpad. A pasta segue o diretório temporário, então TEMP no Windows e TMPDIR no Unix a movem. CLAUDE_CODE_TMPDIR, que existe para outros arquivos temporários, foi relatado como não movendo o scratchpad, e esse pedido foi fechado como não planejado. O mesmo para os pedidos de uma variável CLAUDE_CODE_SCRATCHPAD_DIR e de um padrão sob ~/.claude/scratchpad/. Uma pasta scratchpad visível no app desktop é um pedido de funcionalidade ainda aberto.

Duas coisas funcionam hoje. Uma sessão retomada (claude --resume) mantém seu id de sessão, então procura a mesma pasta, e a encontra se nada a apagou no meio do caminho. E você pode pedir ao agente, em palavras simples, para escrever determinado arquivo em algum lugar permanente. Essa é toda a nossa solução.

A regra que demos aos nossos agentes noturnos

Sete agentes começam às 20:00 na mesma máquina: SEO, produto, redes sociais, um fixer, um documentalista, um relatório CEO e um rapporteur que envia por e-mail o resumo da noite às 22:00. Cada um produz muito material intermediário: exportações do Search Console, JSON filtrados, scripts que contam strings em vinte locales. Tudo isso vai para o scratchpad, de propósito, porque nada disso pertence ao repositório e nada disso deveria disparar um pedido de permissão às duas da manhã.

A regra em cada prompt cabe em uma frase: o scratchpad guarda o que o próximo comando precisa, o repositório guarda o que a próxima noite precisa. Tudo o que um agente vai querer ler amanhã, seu relatório, seu marcador de run, o arquivo que estava editando, é escrito sob reports/nuit/<data>/ e commitado assim que termina, não no fim do run. Um agente cortado no meio da tarefa deixa um relatório parcial no git e 25 MB de arquivos de trabalho de que ninguém vai sentir falta.

O espelho dessa regra é o que o usuário de Linux aprendeu do jeito difícil: nunca deixe um trabalho longo acumular sua única cópia no scratchpad. Se um pipeline roda por um dia, suas saídas vão para um caminho que você escolheu, e o scratchpad fica com os auxiliares.

Abrir a pasta sem sair do app

Se você roda o Claude Code dentro do AgentsRoom, File > Open File (Cmd/Ctrl+O) abre qualquer arquivo dessa pasta na pré-visualização, marcado « Fora do projeto » para você não confundi-lo com algo rastreado. É a forma mais rápida que encontramos de ler uma exportação que o agente acabou de produzir, sem colar um caminho /private/tmp em um terminal.

E para fechar o ciclo sobre o nome: o Scratchpad do AgentsRoom é outra coisa. É o editor de prompts integrado ao composer de agente, onde um prompt longo é escrito e guardado como rascunho por agente entre sessões. Mesma palavra, escolhida antes de o Claude Code usá-la para uma pasta. Um é onde você escreve para o agente; o outro é onde o agente escreve para si mesmo.

Perguntas frequentes

Onde fica o scratchpad do Claude Code no macOS e no Linux?

Sob o diretório temporário do sistema: /tmp/claude-<seu uid>/<caminho do projeto, barras trocadas por hífens>/<id de sessão>/scratchpad. No macOS a mesma pasta aparece como /private/tmp/claude-501/… porque /tmp é um link para /private/tmp. Seu uid é o que id -u imprime: 501 para o primeiro usuário de um Mac, 1000 na maioria das distribuições Linux, 0 para root. Versões mais antigas usavam /tmp/claude/ sem o sufixo de uid.

Onde fica o scratchpad do Claude Code no Windows?

Sob a pasta TEMP: %TEMP%\claude\<slug do projeto>\<id de sessão>\scratchpad, que normalmente se expande para C:\Users\<você>\AppData\Local\Temp\claude\…. Mudar a variável de ambiente TEMP o move, porque o caminho é derivado de TEMP e não de uma configuração do Claude Code.

Por que meu scratchpad do Claude Code desapareceu?

Porque ele vive sob o diretório temporário, e todo sistema operacional considera o diretório temporário como descartável. No Linux, o systemd-tmpfiles aplica a regra escrita em /usr/lib/tmpfiles.d/tmp.conf, muitas vezes um esvaziamento na inicialização ou depois de um certo número de dias. O macOS esvazia /private/tmp ao reiniciar e remove os arquivos antigos. No Windows, o Sensor de Armazenamento e a Limpeza de Disco varrem %TEMP%. Nada no Claude Code protege a pasta de nada disso.

Posso mudar onde o Claude Code coloca seu scratchpad?

Não com uma configuração dedicada, no Claude Code 2.1.278. A pasta segue o diretório temporário do sistema operacional, então mover TEMP no Windows ou TMPDIR no Unix a move. Os pedidos de uma variável separada ou de um local persistente sob ~/.claude foram fechados como não planejados. A opção confiável é dizer ao agente para escrever no projeto tudo o que importa.

O scratchpad é a mesma coisa que ~/.claude/projects?

Não. ~/.claude/projects/<slug do projeto>/ guarda as transcrições de sessão e, por sessão, uma pasta tool-results onde são salvas as saídas de ferramentas grandes demais. Esse local é permanente. O scratchpad sob o diretório temporário é o espaço de trabalho que o agente usa para scripts e arquivos intermediários, e esse é volátil.

Isso é o Scratchpad do AgentsRoom?

Mesma palavra, outra coisa. O Scratchpad do AgentsRoom é o editor de prompts integrado ao composer de agente, onde você escreve e guarda um rascunho por agente. O scratchpad do Claude Code é uma pasta que o CLI cria para cada sessão. O AgentsRoom pode abrir qualquer arquivo dessa pasta com File > Open File, marcado « Fora do projeto ».

Baixar AgentsRoom

Rode todos os seus agentes de IA, em todos os seus projetos, de uma única janela.

GrátisBaixar AgentsRoom

App complementar: acompanhe seus agentes em qualquer lugar

Use Claude, Codex, Antigravity CLI ou outro provedor de IA.

Instalar a extensão
Chrome Web Store

Envie bugs e pedidos direto para o seu backlog público.

Multi-projetos
Multi-provedor
Multi-agentes
Status ao vivo
Diff e commit
App mobile
Preview ao vivo
Equipes de agentes
Testes no navegador
Dev guiada por backlog
Biblioteca de prompts
Biblioteca de skills
Ver todas as funcionalidades

Continue lendo