SpyBara
Go Premium

sessions.md 2026-09-27 23:59 UTC to 2026-09-28 22:01 UTC

This page contains 7 additions and 7 deletions.

2026
Thu 10 23:00 Tue 22 23:59 Fri 25 23:58 Mon 28 22:59

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

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

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

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

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

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

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

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

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

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

Возобновлённый сеанс восстанавливает диалог вместе с состоянием, сохранённым в нём:

  • История диалога: полная история, включая вызовы инструментов и результаты. Инструмент, который всё ещё выполнялся, когда предыдущий процесс завершился, например при сбое, не завершается и не запускается снова при возобновлении. Claude видит вызов, отмеченный как прерванный до того, как был записан его результат, и ему сообщается проверить, был ли он выполнен, перед тем как запустить его снова, если только не установлена переменная CLAUDE_CODE_RESUME_INTERRUPTED_TURN. До версии 2.1.281 Claude Code либо удалял прерванный вызов из диалога, либо показывал его Claude как вызов, который вы прервали.
  • Модель: сеанс продолжается на модели, которую он использовал. Модель не восстанавливается, когда она была снята с производства или не разрешена availableModels, когда флаг --model или переменная окружения семейства ANTHROPIC_MODEL выбирает одну при запуске, или у поставщиков, которые используют ID развёртывания, специфичные для поставщика, такие как Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry; см. конфигурация модели для порядка разрешения.
  • Agent: сеанс, запущенный с помощью --agent или параметра agent, продолжается как этот agent, сохраняя ограничения его инструментов и модель. Передайте --agent при возобновлении, чтобы выбрать другой; для системного приглашения в любом случае см. Флаги системного приглашения в возобновлённых диалогах. Claude Code ищет agent в двух местах: в исходном каталоге сеанса, при условии, что вы доверили этому рабочему пространству, а затем в каталоге, из которого вы возобновляете, поэтому agent, ограниченный проектом, всё ещё загружается при возобновлении из другого каталога. Если Claude Code не находит agent ни в одном из этих мест, сеанс возобновляется с инструментами по умолчанию и показывает предупреждение с названием agent.
  • Режим разрешений: если вы возобновляете из терминала с помощью claude --continue, claude --resume <session-id> или claude --resume <name>, когда имя соответствует одному сеансу, без -p, Claude Code восстанавливает режим разрешений, в котором находился сеанс, за исключением случаев в режим разрешений при возобновлении, который также охватывает средство выбора сеансов, /resume и возобновление с помощью claude -p. Передайте --permission-mode или --dangerously-skip-permissions, чтобы переопределить восстановленный режим.
  • Активная цель: цель, которая была активна при завершении сеанса, переносится; её счётчик ходов, таймер и базовая линия расходов токенов сбрасываются.
  • Запланированные задачи: задачи, которые не истекли, восстанавливаются. Фоновые задачи Bash и задачи мониторинга не восстанавливаются.

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

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

Режим разрешений, в котором 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, за исключением того, что сеанс, который завершился в режиме Plan Mode, возобновляется в режиме Plan Mode при условиях ниже.
  • VS Code: панель диалога расширения. Таблица охватывает только диалог, который завершился в режиме Plan Mode; для остального см. возобновление прошлых диалогов.
  • Средство выбора сеансов при запуске: сеанс, который вы выбираете из средства выбора сеансов, независимо от того, открыли ли вы его с помощью claude --resume отдельно, claude --from-pr или имени, которое соответствует более чем одному сеансу. Claude Code не восстанавливает сохранённый режим разрешений. Он запускает сеанс в режиме разрешений, в котором он запустил бы новый сеанс из той же командной строки.
  • /resume внутри сеанса, с аргументом или без: Claude Code не восстанавливает сохранённый режим разрешений. Диалог, на который вы переключаетесь, продолжается в режиме разрешений, в котором находится ваш текущий сеанс.

Восстановление режима Plan Mode на неинтерактивном пути и пути VS Code требует Claude Code v2.1.246 или более поздней версии. Каждая строка называет режим разрешений, в котором завершился сеанс, какой из путей терминала, неинтерактивного и VS Code вы его возобновляете, и режим разрешений, в котором Claude Code запускает возобновлённый сеанс.

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

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

  • Вы передаёте --permission-prompt-tool, чтобы Claude Code мог представить план для утверждения
  • Вы не передаёте --permission-mode или --dangerously-skip-permissions
  • Вы не передаёте --fork-session
  • Запуск не запущен через каналы

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

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

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

  • Возобновить из сводки: немедленно запускает /compact. Claude Code отправляет один запрос на суммирование по полной истории, затем заменяет историю сводкой, вашими самыми последними обменами и до пяти недавно прочитанными файлами. Более поздние запросы переносят сводку вместо полной истории.
  • Возобновить полный сеанс как есть: загружает диалог без изменений. После отправки первого сообщения Claude Code переобрабатывает и повторно кэширует полную историю, затем повторно читает её из кэша при более поздних запросах, пока кэш остаётся активным.
  • Больше не спрашивать: возобновляет полный сеанс и прекращает показывать диалоговое окно при всех будущих возобновлениях.

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

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

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

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

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

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

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

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

Возобновление по имени разрешается в текущем репозитории и его 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 оставляет имя с сессией, которая его уже имеет, переименовывает вашу в вариант с двусловным суффиксом, например auth-refactor-graceful-unicorn, и сообщает вам об этом. Запустите /rename с новым именем, если вы предпочитаете выбрать его сами. До версии v2.1.232 обе сессии сохраняли имя.

В трех случаях Claude Code не переименовывает дубликат, поэтому вы все еще можете видеть две сессии с одинаковым именем в списках:

  • Он не проверяет сгенерированные AI названия или имена отображения по умолчанию.
  • Он не проверяет --name фоновой или -p сессии при запуске.
  • Он не может переименовать сессию в более ранней версии Claude Code.

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

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

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

    Принятие плана заменяет название первой подсказки на название на основе плана. Именование сессии также его заменяет.

    Вы видите название первой подсказки в средстве выбора сессий и в поле session_name строки состояния, когда имя не установлено. Название плана отображается в тех же двух местах, а также в списках запущенных сессий, где оно занимает место имени отображения по умолчанию.

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

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

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

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

Каждая строка показывает имя сеанса, если оно установлено, в противном случае автоматически сгенерированное название сеанса, сводку диалога или первую подсказку, а также время с момента последней активности, ветвь git и размер файла. Расширьте на все проекты с помощью Ctrl+A, чтобы также увидеть путь проекта каждого сеанса.

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

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

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

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

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

/branch try-streaming-approach

Если вы опустите имя, Claude Code назовёт новую ветвь в соответствии с первым запросом в диалоге. Начиная с версии v2.1.198 это также применяется после compaction; более ранние версии вместо этого использовали буквальное имя Branched conversation вместо того, чтобы смотреть дальше сводки compaction на исходный первый запрос.

Из командной строки объедините --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
Подавить запись стенограмм во всех режимах CLAUDE_CODE_SKIP_PROMPT_HISTORY Переменная окружения
Подавить запись для одного неинтерактивного запуска --no-session-persistence Флаг CLI с claude -p

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

Стенограммы удаляются в соответствии с правилами очистки сохранения. Чтобы удалить стенограммы проекта и связанное состояние раньше, запустите claude project 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