SpyBara
Go Premium

sessions.md 2026-10-09 23:02 UTC to 2026-10-10 21:01 UTC

This page contains 43 additions and 41 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Tue 6 23:59 Wed 7 23:59 Sat 10 22:01

Управление сеансами

Назовите, возобновите, создавайте ветви и переключайтесь между диалогами Claude Code. Охватывает --continue, --resume, --from-pr, средство выбора /resume, именование сеансов, экспорт стенограмм и место хранения стенограмм.

Сессия — это сохранённый диалог, привязанный к каталогу проекта. Claude Code сохраняет его локально по мере работы, поэтому вы можете возобновить работу с того же места, создать ветку для попытки другого подхода или переключаться между задачами.

Настольное приложение, Claude Code в веб-версии и расширение VS Code каждое ведёт собственную историю сеансов, а настольное приложение также может возобновить сеанс CLI. На этой странице рассматривается CLI.

Возобновление сессии

Сессии непрерывно сохраняются в локальные файлы транскриптов по мере работы, поэтому вы можете вернуться к одной из них после выхода или запуска /clear. Используйте эти точки входа:

Команда Что она делает
claude --continue Повторно открывает самую последнюю сессию в текущем каталоге
claude --resume Открывает средство выбора сессий
claude --resume <name> Возобновляет именованную сессию напрямую
claude --resume <transcript-path> Возобновляет сессию, сохранённую в файле транскрипта .jsonl по этому абсолютному пути
claude --from-pr <number> Открывает средство выбора сессий, отфильтрованное по сессиям, связанным с этим pull request
/resume Переключается на другую сессию из активной сессии

Возобновление выполняющейся фоновой сессии

Когда диалог, который вы возобновляете с помощью claude --resume или /resume, принадлежит фоновой сессии, которая всё ещё выполняется, Claude Code открывает саму выполняющуюся сессию. Если в командной строке указан --bg, возобновление вместо этого становится фоновой отправкой. До версии 2.1.285 Claude Code отказывал и предлагал открыть сессию с помощью claude attach <id> или сначала остановить её с помощью claude stop <id>.

  • Из вашей оболочки: claude --resume <session> запускает claude attach для этой сессии в том же терминале вместо самостоятельной загрузки транскрипта. Промпт, который вы передаёте в командной строке, как в claude --resume <session> "check the tests too", сначала отправляется в сессию как её следующий ход, и Claude Code выводит Sent your prompt to the background session (<id>); opening it… перед подключением. claude -p --resume <session> "prompt", введённый в терминале, делает то же самое, поэтому -p не делает этот запуск неинтерактивным.

    Claude Code не открывает сессию, если командная строка содержит что-либо из следующего:

    • Ввод или вывод через конвейер или перенаправление
    • Флаги, которые настраивают сессию, такие как --permission-mode, --model или --settings
    • Флаги, которые читают вывод, такие как --output-format json или --json-schema
    • Флаги, которые ограничивают или перематывают запуск, такие как --max-turns или --max-budget-usd

    В любом из этих случаев, или когда представление агентов отключено, Claude Code ничего не отправляет и завершается со статусом 1, выводя сообщение о том, что сессия выполняется в фоне, вместе с командой claude attach <id>, которая её открывает, или предлагая найти её в claude agents, если не удаётся определить ID. Добавьте --fork-session, чтобы вместо этого возобновить копию диалога. Чтобы продолжить сам диалог в собственной сессии с применением ваших флагов, запустите claude stop <id>, а затем повторите команду.

    Промпт, начинающийся с / или !, не отправляется, как и любой промпт, пока сессия ожидает вашего ответа на вопрос. В обоих случаях Claude Code не открывает сессию, а сообщение содержит Your prompt was not sent to it с указанием причины.

  • Изнутри сессии: /resume перемещает ваш текущий диалог в фон и подключает этот терминал к выполняющейся сессии, выводя Opening "<title>", running in the background (<id>). Нажмите ← в пустом промпте, чтобы вернуться к представлению агентов, где также отображается покинутый вами диалог. Когда текущий диалог нельзя переместить в фон, например потому что вы уже подключены к фоновой сессии или сохранение сессий отключено, /resume выводит команду claude attach, которую нужно запустить вместо этого.

Что восстанавливает возобновлённая сессия

Когда Claude Code загружает диалог из его транскрипта, возобновлённая сессия восстанавливает диалог вместе с сохранённым в нём состоянием:

  • История диалога: полная история, включая вызовы инструментов и их результаты. Инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, помеченный как прерванный до записи его результата, и получает указание проверить, сработал ли он, прежде чем запускать его снова, если только не установлена переменная CLAUDE_CODE_RESUME_INTERRUPTED_TURN.
  • Модель: сессия продолжается на модели, которую она использовала, за исключением случаев, описанных в разделе Выбор модели.
  • Агент: сессия, запущенная с помощью --agent или настройки agent, продолжается как этот агент, сохраняя его ограничения инструментов и модель. Передайте --agent при возобновлении, чтобы выбрать другого агента; о системном промпте в обоих случаях см. Флаги системного промпта в возобновлённых диалогах. Claude Code ищет агента в двух местах: в исходном каталоге сессии, при условии что вы доверяете этому рабочему пространству, а затем в каталоге, из которого вы возобновляете сессию, поэтому агент уровня проекта загружается и при возобновлении из другого каталога. Если Claude Code не находит агента ни в одном из этих мест, сессия возобновляется с инструментами по умолчанию и показывает предупреждение с именем агента.
  • Режим разрешений: если вы возобновляете сессию из терминала с помощью claude --continue, claude --resume <session-id> или claude --resume <name>, когда имя соответствует одной сессии, без -p, Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, описанных в разделе режим разрешений при возобновлении, который также охватывает средство выбора сессий, /resume и возобновление с помощью claude -p. Передайте --permission-mode или --dangerously-skip-permissions, чтобы переопределить восстановленный режим.
  • Активная цель: цель, которая всё ещё была активна при завершении сессии, переносится; её счётчик ходов, таймер и базовый уровень расхода токенов сбрасываются.
  • Запланированные задачи: задачи, срок которых не истёк, восстанавливаются. Фоновые задачи Bash и задачи мониторинга не восстанавливаются.
  • Фоновая работа: фоновый субагент, фоновая команда Bash или workflow, завершившиеся вместе с предыдущим процессом, отображаются в возобновлённом транскрипте как примечание о том, что они не завершились. Claude Code не начинает ход по этим примечаниям; Claude читает их вместе с вашим следующим промптом.

Не каждый флаг конфигурации из исходного запуска восстанавливается. Если сессия зависела от --mcp-config, --settings, --plugin-dir, --fallback-model или каталогов, добавленных с помощью --add-dir, передайте их снова при возобновлении; каталоги, добавленные во время сессии с помощью /add-dir, также не восстанавливаются, хотя средство выбора сессий всё ещё использует их для поиска сессии. Стандартные файлы настроек, такие как settings.json и settings.local.json, перечитываются при запуске, поэтому конфигурацию, которая находится в них, не нужно передавать снова. О --system-prompt и --append-system-prompt см. Флаги системного промпта в возобновлённых диалогах.

Режим разрешений при возобновлении

Режим разрешений, в котором Claude Code запускает возобновлённую сессию, зависит от способа возобновления. Описанные ниже случаи применяются, когда Claude Code загружает диалог из его транскрипта; когда вы вместо этого открываете фоновую сессию, которая всё ещё выполняется, эта сессия сохраняет свой текущий режим разрешений.

  • Терминал: claude --continue, claude --resume <session-id> или claude --resume <name>, когда имя соответствует одной сессии, без -p. Claude Code восстанавливает режим разрешений, в котором находилась сессия, за исключением случаев, указанных в таблице. Передайте --permission-mode или --dangerously-skip-permissions, чтобы переопределить восстановленный режим.
  • Неинтерактивный: claude -p --resume или claude -p --continue. Claude Code запускает выполнение в том режиме разрешений, в котором запустился бы новый запуск claude -p, за исключением того, что сессия, завершившаяся в режиме планирования, возобновляется в режиме планирования при условиях ниже.
  • VS Code: панель диалога расширения. Таблица охватывает только диалог, завершившийся в режиме планирования; об остальных случаях см. возобновление прошлых диалогов.
  • Средство выбора сессий при запуске: сессия, которую вы выбираете в средстве выбора сессий, независимо от того, открыли ли вы его с помощью одного claude --resume, claude --from-pr или имени, соответствующего нескольким сессиям. Claude Code запускает сессию в том режиме разрешений, в котором запустил бы новую сессию из той же командной строки, за исключением того, что сессия, завершившаяся в режиме планирования, возобновляется в режиме планирования. Если вы передаёте --permission-mode, --dangerously-skip-permissions или --fork-session, Claude Code не восстанавливает режим планирования. Никакой другой сохранённый режим разрешений не восстанавливается.
  • /resume внутри сессии, с аргументом или без: диалог, на который вы переключаетесь, продолжается в режиме разрешений вашей текущей сессии, за исключением того, что диалог, завершившийся в режиме планирования, возобновляется в режиме планирования, даже если вы запустили Claude Code с --permission-mode или --dangerously-skip-permissions. Если этот диалог уже открывался ранее в текущем запуске Claude Code, например диалог, с которого вы начали, или диалог, который вы покинули с помощью /clear или /resume, он вместо этого продолжается в вашем текущем режиме разрешений.

Если правило запрета удаляет инструмент ExitPlanMode, Claude не может представить план на утверждение, поэтому Claude Code не восстанавливает режим планирования. Сессия запускается в том режиме разрешений, в котором запустилась бы новая сессия из той же командной строки. При использовании /resume диалог продолжается в вашем текущем режиме разрешений.

Для восстановления режима планирования в неинтерактивном пути и в VS Code требуется Claude Code v2.1.246 или более поздней версии. В каждой строке указаны режим разрешений, в котором завершилась сессия, путь возобновления (терминал, неинтерактивный или VS Code) и режим разрешений, в котором Claude Code запускает возобновлённую сессию.

Сессия завершилась в Как вы возобновляете Режим разрешений после возобновления
bypassPermissions Терминал Режим разрешений, в котором запустилась бы новая сессия. Чтобы снова обходить разрешения, включите этот режим при запуске с помощью одного из его флагов запуска или permissions.defaultMode: "bypassPermissions" в пользовательских настройках, --settings или управляемых настройках
plan Терминал Режим планирования. С --fork-session — режим разрешений, в котором запустилась бы новая сессия
plan Терминал, когда правило запрета удаляет ExitPlanMode Режим разрешений, в котором запустилась бы новая сессия
auto Терминал auto, только если ваша учётная запись всё ещё соответствует требованиям авторежима
Manual Терминал Manual, если новая сессия запустилась бы в авторежиме согласно встроенному значению по умолчанию. Когда вступает в силу defaultMode из файла настроек, Claude Code вместо этого запускает возобновлённую сессию в этом режиме
plan Неинтерактивный, при условиях ниже Режим планирования
Любой режим Неинтерактивный, в любом другом случае Режим разрешений, в котором запустился бы новый запуск claude -p
plan VS Code Режим планирования, с исключениями, описанными на странице VS Code
Возобновление в режиме планирования с `-p`

Запуск claude -p --resume или claude -p --continue возобновляется в режиме планирования, только если выполняются все следующие условия:

Возобновление из сводки

На плане Pro или Max, когда вы возобновляете сессию, которая была неактивна примерно более часа и превышает 100 000 токенов, Claude Code восстанавливает диалог и затем открывает диалоговое окно до отправки вашего первого сообщения. К этому моменту кэш промптов сессии уже истёк, поэтому следующий запрос один раз обрабатывает полную историю независимо от того, какой вариант в диалоговом окне вы выберете.

Диалоговое окно предлагает три способа продолжить сессию:

  • Resume from summary: немедленно запускает /compact. Последующие запросы содержат сводку вместо полной истории.
  • Resume full session as-is: загружает диалог без изменений.
  • Don't ask me again: возобновляет полную сессию и больше не показывает это диалоговое окно при будущих возобновлениях.

Возобновление как есть сохраняет доступными все детали диалога, но стоимость каждого запроса растёт с размером диалога. Возобновление из сводки обходится дешевле при каждом последующем запросе, поскольку передаётся сводка вместо полной истории, однако всё, что не вошло в сводку, больше не находится в контексте Claude. О том, откуда берётся эта стоимость за запрос, см. почему использование растёт в длинной сессии.

Где средство выбора сессий ищет сессии

Claude Code хранит сессии для каждого каталога проекта. По умолчанию средство выбора сессий показывает:

  • Сессии из текущего worktree, включая фоновые сессии, которые отмечены в списке как bg
  • Сессии, запущенные в других местах, которые добавили текущий каталог с помощью /add-dir

Используйте Ctrl+W, чтобы расширить список на все worktrees репозитория, или Ctrl+A, чтобы расширить его на все проекты на этой машине.

`/loop`, `-p`, Agent SDK и фоновые сессии

Сессии, первым промптом которых была команда /loop, не отображаются в средстве выбора, и claude --continue также их пропускает. Запуск /loop позже в диалоге не скрывает сессию.

Claude Code исключает сессии, созданные с помощью claude -p или Agent SDK, из средства выбора сессий и из claude --continue. Вы всё равно можете возобновить такую сессию, передав её ID в claude --resume <session-id>. Когда вы запускаете claude -p --continue, Claude Code учитывает сессии -p, SDK и /loop.

claude --continue открывает фоновую сессию, которая завершилась, но не ту, которая всё ещё выполняется; для открытия завершённых фоновых сессий требуется Claude Code v2.1.257 или более поздней версии. Если ваш самый последний диалог — это тот, который вы переместили в фон, и он всё ещё там выполняется, Claude Code завершается с сообщением Your most recent conversation is running in the background и ID этой сессии. Подключитесь к сессии из claude agents или запустите claude --resume, чтобы выбрать другую.

Сессии в других worktrees и проектах

Когда вы выбираете сессию из другого worktree того же репозитория, Claude Code возобновляет её на месте; если собственный worktree сессии больше не существует, Claude Code возобновляет её в вашем текущем каталоге. Когда вы выбираете сессию из несвязанного проекта, Claude Code вместо этого копирует в буфер обмена команду cd и команду возобновления. Если каталог этого проекта больше не существует, Claude Code возобновляет сессию в вашем текущем каталоге, а не копирует команду cd, которая завершилась бы ошибкой.

Перемещение сессии с помощью /cd переносит её в хранилище проекта нового каталога, поэтому впоследствии она появляется в средстве выбора этого каталога.

Возобновление по ID сессии или имени

Вы можете запустить claude --resume <session-id> из любого каталога, поэтому можно возобновить сессию, которая началась в другом месте или была перемещена с помощью /cd. Claude Code ищет ID в следующем порядке:

  1. Каталог текущего проекта и его git worktrees
  2. Все остальные проекты на этой машине

Поиск по проектам находит ID только тогда, когда ровно один другой проект содержит транскрипт с сообщениями для него, поэтому вручную скопированный дубликат приводит к тому, что Claude Code сообщает об отсутствии сессии, а не возобновляет произвольную копию. Если ни одна сохранённая сессия не соответствует ID, Claude Code сообщает No conversation found with session ID: <session-id>.

Возобновление по имени выполняет поиск в текущем репозитории и его worktrees. Обе формы ищут точное совпадение и возобновляют сессию напрямую, даже если она находится в другом worktree:

Команда Точное совпадение Неоднозначное имя
claude --resume <name> Возобновляет напрямую Открывает средство выбора сессий с именем, предварительно заполненным в качестве поискового запроса
/resume <name> Возобновляет напрямую Сообщает об ошибке; запустите /resume без аргумента, чтобы открыть средство выбора сессий

Назовите ваши сессии

Дайте сессиям описательные имена, чтобы их было легко найти в средстве выбора сессий и возобновить по имени. Это особенно важно, когда вы работаете над несколькими задачами параллельно.

Когда Как установить имя
При запуске claude -n auth-refactor
Во время сессии /rename auth-refactor. Имя также отображается на панели подсказок
Из средства выбора сессий Выделите сессию и нажмите Ctrl+R
При принятии плана Принятие плана в режиме плана дает сессии сгенерированное название на основе плана, если вы еще не назвали её
Из claude.ai или приложения Claude Переименуйте сессию удаленного управления; Claude Code применяет то же имя в CLI. Требуется Claude Code v2.1.221 или позже
Из приложения для рабочего стола Переименуйте сессию в приложении для рабочего стола

После того как вы назовете сессию через маршрут CLI или из claude.ai, вернитесь к ней с помощью claude --resume <name> или /resume <name>; сессия приложения для рабочего стола возобновляется в приложении для рабочего стола. Смотрите Возобновить сессию, чтобы узнать, как разрешение имен работает в worktrees.

Сессии, которые вы не назвали, все еще получают два ярлыка, которые назначает Claude Code. Только сгенерированное название работает как дескриптор возобновления:

  • Имя отображения по умолчанию: интерактивные сессии, которые вы никогда не назвали, все еще получают имя отображения по умолчанию при запуске. Требуется Claude Code v2.1.196 или позже. Значение по умолчанию объединяет имя рабочего каталога с двухсимвольным суффиксом, например my-app-3f, и идентифицирует сессию в списках запущенных сессий, таких как представление агента и вывод claude agents --json. Значение по умолчанию не является дескриптором возобновления. Если вы передадите его в claude --resume или /resume, Claude Code не найдет сессию.

  • Сгенерированное название: если вы не назовете сессию, Claude Code генерирует для неё название сессии. Название — это краткое резюме вашей первой подсказки, написанное фоновым запросом к небольшой/быстрой модели, обычно модели класса Haiku. Запуск claude -p, который вы запускаете непосредственно из оболочки или скрипта, не получает его.

    Принятие плана заменяет сгенерированное название на название на основе плана. Вы можете передать любое из названий в claude --resume или /resume, и Claude Code разрешит его так же, как имя, которое вы установили.

Использование средства выбора сеансов

Запустите /resume внутри сеанса или claude --resume без аргументов, чтобы открыть интерактивное средство выбора сеансов. Используйте эти сочетания клавиш для навигации, поиска и расширения списка:

Сочетание клавиш Действие
↑ / ↓ или k / j Навигация между сессиями
→ / ← Развёртывание или свёртывание сгруппированных сеансов
Enter Возобновление выделенного сеанса
1–9 Возобновление сессии на соответствующей позиции в списке
Space Предпросмотр содержимого сеанса. Ctrl+V также работает на терминалах, которые не захватывают его как вставку
Ctrl+R Переименование выделенного сеанса
/ или любой печатный символ, кроме Space, j, k или цифры Вход в режим поиска и фильтрация сессий. Вставьте URL pull или merge request GitHub, GitHub Enterprise, GitLab или Bitbucket, чтобы найти сессию, которая его создала
Ctrl+A Показать сеансы из всех проектов на этой машине. Нажмите снова, чтобы вернуться к текущему репозиторию
Ctrl+W Показать сеансы из всех worktrees текущего репозитория. Нажмите снова, чтобы вернуться к текущему worktree. Отображается только в репозиториях с несколькими worktrees
Ctrl+B Фильтр к сеансам из текущей ветви git. Нажмите снова, чтобы показать все ветви
Esc Выход из средства выбора сеансов или режима поиска

Каждая строка показывает имя сессии, если оно установлено, в противном случае сгенерированное ИИ название сессии, сводку диалога или первый промпт, а также время с момента последней активности, ветку git и размер файла.

Сеансы, созданные с помощью /branch или --fork-session, получают свои собственные идентификаторы сеансов и отображаются как отдельные строки. Когда средство выбора находит более одной записи для одного и того же сеанса, оно группирует их под одной строкой. Нажмите → для развёртывания группы.

Если Claude Code не может загрузить выбранный вами сеанс из средства выбора claude --resume, он выводит Failed to resume the conversation с командой для повтора, а затем завершает работу с кодом 1. Из средства выбора /resume внутри сеанса Claude Code сообщает об ошибке, и ваш текущий диалог продолжает работать.

Создание ветви сеанса

Создание ветви создаёт копию диалога до сих пор и переключает вас в неё, оставляя оригинал нетронутым. Используйте это, чтобы попробовать другой подход без потери пути, на котором вы были.

Из активного сеанса запустите /branch с необязательным именем:

/branch try-streaming-approach

Если вы опустите имя, Claude Code назовёт новую ветку по первому промпту в диалоге.

Из командной строки объедините --continue или --resume с --fork-session:

claude --continue --fork-session

Подтверждение /branch выводит два ID сеанса: новую ветвь, в которой вы находитесь, и оригинал. Оригинал остаётся неизменным на диске и остаётся в средстве выбора сеансов; вернитесь к нему с помощью /resume <original-name> или передав его ID в /resume.

/branch копирует стенограмму и переключает запущенный процесс Claude Code на запись в неё. Это различие определяет, что наследует ветвь:

Состояние После /branch
История диалога Скопирована в ветвь до момента, когда вы запустили /branch
Разрешения "Allow for this session" Перенесены; ветвь работает в том же процессе, поэтому ваши существующие разрешения по-прежнему применяются. Если вы разветвляетесь в отдельный процесс с помощью --fork-session, новый процесс запускается без них, и вы повторно одобряете их там
Выполняющиеся фоновые подагенты и фоновые команды Bash Продолжают работать. Их вывод появляется в новой ветви, в которую вы переключились, а не в исходном сеансе
Соединение Remote Control Остаётся подключённым. Телефон или браузер, подключённый к сеансу, следует за вами в ветвь и продолжает получать там новые сообщения

Если вы возобновите один и тот же сеанс в двух терминалах без разветвления, сообщения из обоих будут чередоваться в одной стенограмме. Для перемотки на основе контрольных точек в одном сеансе см. Checkpointing.

Управление контекстом в сеансе

Эти команды управляют тем, что находится в окне контекста, не покидая сеанс:

  • /clear: начать заново с пустым контекстом. Claude Code сохраняет предыдущую сессию; возобновите её с помощью /resume, или, в том же процессе Claude Code, из записи предыдущей сессии в меню перемотки. Без аргумента новая сессия сохраняет имя, которое вы установили с помощью --name или /rename, но не название сессии, сгенерированное ИИ. Чтобы вместо этого назвать сессию, которую вы покидаете, передайте имя, как в /clear release-prep; новая сессия затем начинается без имени
  • /compact [instructions]: заменить историю сводкой, опционально сосредоточенной на том, что вы указали
  • /context: показать, что в настоящее время потребляет контекст

О том, как уплотнение взаимодействует с CLAUDE.md, skills и правилами, см. руководство по окну контекста. Для стратегий о том, когда очищать или уплотнять, см. Best practices.

Экспорт и поиск данных сеанса

Запустите /export, чтобы открыть меню, которое позволяет скопировать текущий диалог в буфер обмена или сохранить его как простой текстовый файл с сообщениями и выводом инструментов, отображаемыми как читаемый текст. Передайте имя файла для прямой записи в этот файл.

Доступ к диалогам из скриптов

/export создает отформатированную стенограмму для чтения человеком. Интерфейсы ниже создают структурированные данные для анализа скриптом: результат JSON из запуска, путь к файлу стенограммы сеанса или живой поток событий. Выбирайте в зависимости от того, что запускает скрипт:

  • Запустить Claude один раз и захватить результат: вызовите claude -p с --output-format json или stream-json, чтобы захватить результат, ID сеанса, использование и стоимость неинтерактивного запуска как структурированный JSON.
  • Задать вопрос существующему сеансу: передайте ID сеанса в claude -p --resume, чтобы отправить дополнительный запрос, например запрос на резюме, и захватить структурированный ответ.
  • Реагировать на события сеанса: прочитайте поле transcript_path, которое получают hooks и команды строки состояния в качестве входных данных. Hook SessionEnd может архивировать стенограмму при завершении сеанса.
  • Встроить Claude в приложение TypeScript или Python: используйте Agent SDK для получения каждого сообщения программным способом.

Пример ниже использует второй интерфейс. Он отправляет дополнительный запрос существующему сеансу и читает ответ с помощью jq:

claude -p --resume <session-id> --output-format json "summarize what we changed" | jq -r '.result'

Где хранятся стенограммы

По умолчанию Claude Code хранит стенограммы как JSONL в ~/.claude/projects/<project>/<session-id>.jsonl, где <project> — это путь вашего рабочего каталога с заменой не буквенно-цифровых символов на -. Для рабочего каталога, преобразованное имя которого превышает 200 символов, Claude Code усекает имя до 200 символов и добавляет хеш полного пути, чтобы имя каталога оставалось в пределах ограничений файловой системы.

Каждая строка — это объект JSON для сообщения, использования инструмента или записи метаданных. Формат записи является внутренним для Claude Code и изменяется между версиями, поэтому скрипты, которые анализируют эти файлы напрямую, могут сломаться при любом выпуске. Чтобы работать с данными сеанса, используйте /export или интерфейсы скриптов вместо этого.

Местоположение, сохранение и поведение записи настраиваются:

Для Установить Где
Переместить хранилище с ~/.claude CLAUDE_CONFIG_DIR Переменная окружения
Назвать каталог <project> самостоятельно CLAUDE_CODE_PROJECT_DIR_NAME Переменная окружения
Изменить сохранение на 30 дней cleanupPeriodDays settings.json
Установить ограничение по возрасту для стенограмм Claude Desktop и Cowork desktopSessionCleanupPeriodDays Пользовательские параметры, управляемые параметры или --settings
Ограничить рост размера файла транскрипта сессии -p или Agent SDK CLAUDE_CODE_TRANSCRIPT_LOCAL_GC Переменная окружения
Подавить запись стенограмм во всех режимах CLAUDE_CODE_SKIP_PROMPT_HISTORY Переменная окружения
Подавить запись для одного неинтерактивного запуска --no-session-persistence Флаг CLI с claude -p

Удалить данные сеанса

Транскрипты удаляются в соответствии с правилами очистки сохранения. Чтобы удалить транскрипты проекта и связанное состояние раньше, запустите claude purge. Если вы удалите фоновую сессию с помощью claude rm <id>, ее транскрипт остается на диске и остается доступным через claude --resume.

Назвать каталог проекта самостоятельно

По умолчанию Claude Code получает имя <project> из полного пути рабочего каталога. Чтобы выбрать имя самостоятельно, установите CLAUDE_CODE_PROJECT_DIR_NAME вместе с CLAUDE_CONFIG_DIR. Claude Code затем хранит стенограммы этого сеанса и автоматическую память под вашим именем. Это подходит для хоста, который встраивает Claude Code и дает каждому сеансу свой собственный каталог конфигурации. Требуется Claude Code v2.1.234 или позже.

Например, этот запуск хранит данные арендатора A в /srv/tenant-a и называет его каталог проекта work:

CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude

Claude Code записывает стенограммы сеанса в /srv/tenant-a/projects/work/ и его автоматическую память в /srv/tenant-a/projects/work/memory/, независимо от того, какой рабочий каталог используется.

При установке применяются три правила:

  • Установите CLAUDE_CONFIG_DIR также: имя не зависит от рабочего каталога, поэтому при использовании по умолчанию ~/.claude оно объединит стенограммы и автоматическую память каждого проекта в один каталог. Claude Code игнорирует CLAUDE_CODE_PROJECT_DIR_NAME, когда CLAUDE_CONFIG_DIR не установлен.
  • Используйте 1-64 буквы, цифры, дефисы или подчеркивания: не используйте имя устройства Windows, такое как con. Claude Code игнорирует любое другое значение и использует полученное имя.
  • Установите его в окружении оболочки, которая запускает claude: Claude Code читает его один раз при запуске из этого окружения, поэтому блок env в файле параметров не может его установить.

После того как вы назвали каталог проекта каталога конфигурации, продолжайте запускать с этим именем. Если вы запустите Claude Code с тем же CLAUDE_CONFIG_DIR, но без CLAUDE_CODE_PROJECT_DIR_NAME, он снова прочитает и запишет полученный каталог. Сеансы, хранящиеся под вашим именем, остаются на диске: нажмите Ctrl+A в средстве выбора сеанса, чтобы перечислить сеансы из каждого каталога проекта под этим каталогом конфигурации, включая закрепленный, и в любом случае claude --resume <session-id> находит сеанс, хранящийся под любым именем.

См. также

На этих страницах рассматриваются связанные механики сеансов и параллелизма:

  • Worktrees: запуск изолированных параллельных сеансов на отдельных ветвях
  • Checkpointing: перемотка кода и диалога к более ранней точке
  • Context window: что заполняет контекст и что выживает при уплотнении
  • Non-interactive mode: поведение сеанса в claude -p