Где Claude Code хранит свой scratchpad и почему он исчезает
Каждая сессия Claude Code объявляет папку scratchpad и больше никогда о ней не вспоминает. Вот точный путь на macOS, Linux и Windows, что лежит рядом, почему перезагрузка или очистка временных файлов её стирает, что можно и что нельзя настроить, и единственное правило, которое мы дали семи агентам, пишущим туда каждую ночь.
Каждая сессия Claude Code начинается со строки, которую вы наверняка пробегаете глазами. Наша сегодня вечером выглядит так:
Scratchpad directory: /private/tmp/claude-501/-Users-jbchauvin-Projets-AgentsRoom/5a506305-…/scratchpad
Потом CLI о ней больше не упоминает. Ни одна команда её не выводит, ни одна панель её не открывает, и в тот день, когда вы пойдёте искать CSV, который агент, по его словам, туда записал, папки может уже не быть.
Мы запускаем семь агентов по расписанию на Mac mini каждую ночь, и каждый из них пишет в эту папку. Поэтому мы пошли и посмотрели, что это такое, где она живёт на каждой системе, что её удаляет и что мы говорим агентам с этим делать. Всё, что ниже, проверено на Claude Code 2.1.278 19 сентября 2026 года и на issues в GitHub, которые открыли люди, потерявшие в ней работу.
Что Claude Code говорит агенту
Строка является частью системного промпта. Инструкция, которая идёт за ней в текущей версии, говорит, что агент должен всегда использовать эту папку для временных файлов, то есть для промежуточных результатов, скриптов и выводов, которым не место в проекте, вместо /tmp или любой другой временной папки системы; что она привязана к сессии и изолирована от проекта; что её обычно можно использовать без запросов разрешения; и что /tmp следует использовать, только если вы явно об этом попросите.
Последняя часть как раз полезна для вас. Файлы, записанные внутри scratchpad, не вызывают диалог разрешения на запись, и именно поэтому агент кладёт туда свои вспомогательные скрипты и экспорты, а не спрашивает вас каждый раз. По той же причине вас никогда не спрашивают и никогда не говорят, куда они ушли.
Если вам нужен путь в запущенной сессии, спросите агента. На «Выведи свою папку scratchpad» он отвечает из системного промпта, ничего не запуская.
Путь, система за системой
Папка лежит во временной папке операционной системы, а её имя кодирует, кто вы, в каком проекте вы были и какая это была сессия.
На macOS и Linux:
/tmp/claude-<uid>/<путь проекта, слэши заменены на дефисы>/<id сессии>/scratchpad
На Mac /tmp является ссылкой на /private/tmp, поэтому та же папка показывается как /private/tmp/claude-501/…. Число, это ваш идентификатор пользователя, то, что выводит id -u: 501 для первой учётной записи на Mac, 1000 в большинстве дистрибутивов Linux, 0 для root. Отчёт с Linux, который мы цитируем ниже, показывает /tmp/claude-0/, потому что пайплайн работал от root в контейнере. Issues, открытые ранее в 2026 году, показывают /tmp/claude/<slug проекта>/… вообще без uid, так что суффикс добавили по ходу дела. Если у вас старая сборка, уберите его.
На Windows, как сообщалось на Windows 11 в июле 2026 года:
%TEMP%\claude\<slug проекта>\<id сессии>\scratchpad
что обычно разворачивается в C:\Users\<вы>\AppData\Local\Temp\claude\…. Путь выводится из переменной TEMP, поэтому если вы направите TEMP в другое место, scratchpad последует за ней.
Slug проекта, это ваш рабочий каталог, в котором каждый слэш заменён на дефис. Наш репозиторий живёт в /Users/jbchauvin/Projets/AgentsRoom, поэтому slug равен -Users-jbchauvin-Projets-AgentsRoom. Одна папка на проект, затем одна папка на сессию внутри неё.
Чтобы вывести все папки сессий, которые у вас ещё остались для текущего пользователя на Mac или машине с Linux:
ls /tmp/claude-$(id -u)/
Что лежит рядом
Папка сессии, это не только scratchpad. На машине, которая запускает наших ночных агентов, семь из девяти папок сессий за день содержат две записи: scratchpad и tasks. В папку tasks попадает вывод фоновых задач, команд, которые агент запускает отдельно и читает позже.
Есть и третье место, о котором стоит знать, и оно вообще не во временной папке: ~/.claude/projects/<slug проекта>/<id сессии>/tool-results/. Когда инструмент возвращает больше, чем может вместить контекст, Claude Code сохраняет полный вывод туда и отдаёт агенту путь. Сегодня вечером экспорт Search Console на 68 КБ ушёл туда, а не в scratchpad. Это расположение постоянное, рядом с транскриптом сессии. Так что разделение такое: транскрипты и слишком большие выводы инструментов под ~/.claude, который остаётся; скрипты, промежуточные файлы и вывод фоновых задач во временной папке, которая не остаётся.
Почему он исчезает
Потому что временная папка означает «можно удалять» для любой операционной системы, и ничто в Claude Code с этим не спорит.
На Linux systemd-tmpfiles применяет то, что написано в /usr/lib/tmpfiles.d/tmp.conf. Один пользователь потерял весь вывод 24-часового пайплайна генерации данных, включая вердикты ревью, скрипты и виртуальное окружение Python, когда хост перезагрузился: правило в том контейнере Debian было D /tmp 1777 root root 30d, которое пересоздаёт /tmp пустым при каждой загрузке. Это был Claude Code 2.1.260, и системный промпт ничего не говорил о недолговечности. Проверьте своё правило с помощью cat /usr/lib/tmpfiles.d/tmp.conf: строка D очищает при загрузке, возраст вроде 10d удаляет старые файлы по таймеру.
На Windows папка лежит под %TEMP%, который подметают «Контроль памяти» и «Очистка диска». В июле 2026 года кто-то запустил очистку диска, пока шли две сессии, и потерял git worktrees, в которых работали оба агента, включая незакоммиченные правки. Правки удалось восстановить только потому, что они ещё существовали в контексте разговора.
На macOS /private/tmp очищается при перезагрузке, а старые файлы система удаляет. На нашем Mac mini сегодня вечером /private/tmp/claude-501 содержит девять папок сессий для этого проекта, 452 файла и 25 МБ, и ничего старше сегодняшнего дня. Всё, что оставили там агенты предыдущих ночей, исчезло.
Ничто из этого не баг в том смысле, что что-то сработало неправильно. Папка находится ровно там, где говорит CLI, а операционная система сделала ровно то, что она делает с временными папками. Разрыв в том, что промпт называет её scratchpad, а scratchpad звучит как нечто, что хранят.
Что можно настроить, а что нельзя
По состоянию на 2.1.278 настройки расположения scratchpad не существует. Папка следует за временной папкой, поэтому TEMP на Windows и TMPDIR на Unix её перемещают. Про CLAUDE_CODE_TMPDIR, которая существует для других временных файлов, сообщали, что scratchpad она не перемещает, и этот запрос был закрыт как не запланированный. Та же участь постигла запросы на переменную CLAUDE_CODE_SCRATCHPAD_DIR и на расположение по умолчанию под ~/.claude/scratchpad/. Видимая папка scratchpad в десктопном приложении, это открытый запрос на функцию.
Две вещи работают уже сегодня. Возобновлённая сессия (claude --resume) сохраняет свой id сессии, поэтому ищет ту же папку и находит её, если ничто не удалило её за это время. И вы можете попросить агента, простыми словами, записать нужный файл в постоянное место. В этом и состоит всё наше решение.
Правило, которое мы дали нашим ночным агентам
Семь агентов стартуют в 20:00 на одной машине: SEO, продукт, соцсети, fixer, документалист, отчёт CEO и rapporteur, который в 22:00 отправляет по почте сводку за ночь. Каждый производит много промежуточного материала: экспорты Search Console, отфильтрованный JSON, скрипты, которые считают строки в двадцати локалях. Всё это идёт в scratchpad, намеренно, потому что ничему из этого не место в репозитории и ничто из этого не должно вызывать запрос разрешения в два часа ночи.
Правило в каждом промпте, это одно предложение: scratchpad хранит то, что нужно следующей команде, репозиторий хранит то, что нужно следующей ночи. Всё, что агент захочет прочитать завтра, его отчёт, его маркер запуска, файл, который он редактировал, записывается под reports/nuit/<дата>/ и коммитится сразу, как только готово, а не в конце запуска. Агент, которого прервали посреди задачи, оставляет частичный отчёт в git и 25 МБ рабочих файлов, по которым никто не будет скучать.
Зеркальное отражение этого правила, то, чему пользователь Linux научился на горьком опыте: никогда не позволяйте длинной задаче накапливать свою единственную копию в scratchpad. Если пайплайн работает целый день, его выводы идут по пути, который выбрали вы, а scratchpad хранит вспомогательные файлы.
Открыть папку, не выходя из приложения
Если вы запускаете Claude Code внутри AgentsRoom, File > Open File (Cmd/Ctrl+O) открывает любой файл этой папки в предпросмотре, помеченный как находящийся вне проекта, чтобы вы не приняли его за отслеживаемый. Это самый быстрый способ, который мы нашли, чтобы прочитать экспорт, только что созданный агентом, не вставляя путь /private/tmp в терминал.
И чтобы замкнуть круг с названием: Scratchpad в AgentsRoom, это другое. Это редактор промптов, встроенный в композер агента, где длинный промпт пишется и хранится как черновик для каждого агента между сессиями. То же слово, выбранное до того, как Claude Code использовал его для папки. Одно, это место, где вы пишете агенту; другое, это место, где агент пишет для себя.
Часто задаваемые вопросы
Где находится scratchpad Claude Code на macOS и Linux?
Во временной папке системы: /tmp/claude-<ваш uid>/<путь проекта, слэши заменены на дефисы>/<id сессии>/scratchpad. На macOS та же папка показывается как /private/tmp/claude-501/…, потому что /tmp является ссылкой на /private/tmp. Ваш uid выводит id -u: 501 для первого пользователя на Mac, 1000 в большинстве дистрибутивов Linux, 0 для root. Старые версии использовали /tmp/claude/ без суффикса uid.
Где находится scratchpad Claude Code на Windows?
В папке TEMP: %TEMP%\claude\<slug проекта>\<id сессии>\scratchpad, что обычно разворачивается в C:\Users\<вы>\AppData\Local\Temp\claude\…. Изменение переменной окружения TEMP перемещает его, потому что путь выводится из TEMP, а не из настройки Claude Code.
Почему мой scratchpad Claude Code исчез?
Потому что он живёт во временной папке, а любая операционная система считает временную папку безопасной для удаления. На Linux systemd-tmpfiles применяет правило из /usr/lib/tmpfiles.d/tmp.conf, часто это очистка при загрузке или через некоторое число дней. macOS очищает /private/tmp при перезагрузке и удаляет старые файлы. На Windows «Контроль памяти» и «Очистка диска» подметают %TEMP%. Ничто в Claude Code не защищает папку от всего этого.
Можно ли изменить, куда Claude Code кладёт свой scratchpad?
Отдельной настройкой нет, по состоянию на Claude Code 2.1.278. Папка следует за временной папкой операционной системы, поэтому перенос TEMP на Windows или TMPDIR на Unix перемещает её. Запросы на отдельную переменную или постоянное расположение под ~/.claude были закрыты как не запланированные. Надёжный вариант: сказать агенту писать всё, что имеет значение, в проект.
Scratchpad, это то же самое, что ~/.claude/projects?
Нет. В ~/.claude/projects/<slug проекта>/ лежат транскрипты сессий и, для каждой сессии, папка tool-results, куда сохраняются слишком большие выводы инструментов. Это расположение постоянное. Scratchpad во временной папке, это рабочее пространство, которое агент использует для скриптов и промежуточных файлов, и оно недолговечное.
Это Scratchpad из AgentsRoom?
То же слово, другая вещь. Scratchpad в AgentsRoom, это редактор промптов, встроенный в композер агента, где вы пишете и храните черновик для каждого агента. Scratchpad в Claude Code, это папка, которую CLI создаёт для каждой сессии. AgentsRoom может открыть любой файл этой папки через File > Open File, и он помечен как находящийся вне проекта.
Скачать AgentsRoom
Запускай всех своих ИИ-агентов во всех проектах из одного окна.
Приложение-компаньон: следите за агентами на ходу
Используйте Claude, Codex, Antigravity CLI или другого поставщика AI.
Отправляйте баги и запросы прямо в ваш публичный бэклог.
Читать далее
Тратит ли Remote Control в Claude Code больше токенов? И есть ли он у Codex?
Два вопроса, которые люди вводят в Google с тех пор, как Anthropic выпустила Remote Control: стоит ли управление сессией Claude Code с телефона больше токенов, и есть ли эквивалент для Codex. Короткие ответы: нет, ход есть ход, где бы вы его ни набрали, и да, но существует только половина. Вот что такое Remote Control на самом деле, как самому измерить вопрос с токенами в четыре команды, что делает codex remote-control сегодня, и как мобильный пульт, который никогда не обращается к провайдеру, меняет расчёт.
Читать статьюАгент ревью не должен уметь писать. Вот как мы это обеспечиваем, CLI за CLI.
В запуске из 17 узлов релизный агент отредактировал тест, чтобы красная сьюта стала зелёной, а затем два агента ревью написали одно и то же исправление и столкнулись. В промпте было сказано: только ревью. Это не сработало. Разбор инцидента, почему письменная инструкция не может нести это правило, и точные флаги, которые заставляют Claude Code, Codex, Grok, Antigravity и OpenCode отказаться писать.
Читать статьюДесять агентов запустили одну и ту же проверку типов разом. Решением оказалась папка.
Семнадцать кодовых агентов в одном чекауте, десять процессов tsc параллельно, load average 37 и 87 МБ свободной памяти. Проверка типов на девяносто секунд заняла 7 мин 36. Вот измерения, объяснение того, почему машина не считала, и маленькая общая блокировка, которая всё исправила. Копируется в любой репозиторий.
Читать статью