SpyBara
Go Premium

memory.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 90 additions and 88 deletions.

2026
Thu 10 23:00 Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Wed 23 23:57

Как Claude запоминает ваш проект

Дайте Claude постоянные инструкции с помощью файлов CLAUDE.md и позвольте Claude автоматически накапливать знания с помощью auto memory.

Каждый сеанс Claude Code начинается со свежего context window. Два механизма переносят знания между сеансами:

  • Файлы CLAUDE.md: инструкции, которые вы пишете, чтобы дать Claude постоянный контекст
  • Auto memory: заметки, которые Claude пишет сам на основе ваших исправлений и предпочтений

На этой странице рассматривается, как:

CLAUDE.md и auto memory

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

Файлы CLAUDE.md Auto memory
Кто это пишет Вы Claude
Что это содержит Инструкции и правила Знания и закономерности
Область действия Проект, пользователь или организация Отдельно для каждого репозитория, общая для всех его worktrees
Загружается в Каждый сеанс Каждый сеанс (первые 200 строк или 25KB)
Используется для Стандарты кодирования, рабочие процессы, архитектура проекта Ваши предпочтения, исправления, которые вы даёте Claude, контекст проекта, который Claude не может вывести из кода

Используйте файлы CLAUDE.md, когда вы хотите направить поведение Claude. Auto memory позволяет Claude учиться на ваших исправлениях без ручных усилий.

Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе конфигурация subagent.

Файлы CLAUDE.md

Файлы CLAUDE.md — это файлы markdown, которые дают Claude постоянные инструкции для проекта, вашего личного рабочего процесса или всей организации. Вы пишете эти файлы в виде простого текста; Claude читает их в начале каждой сессии.

Когда добавлять в CLAUDE.md

Рассматривайте CLAUDE.md как место, где вы записываете то, что иначе пришлось бы переобъяснять. Добавляйте в него, когда:

  • Claude делает одну и ту же ошибку во второй раз
  • Проверка кода выявляет что-то, что Claude должен был знать об этой кодовой базе
  • Вы вводите одно и то же исправление или уточнение в чат, которое вводили в предыдущей сессии
  • Новому члену команды потребуется тот же контекст для продуктивной работы

Ограничивайте его фактами, которые Claude должен помнить в каждой сессии: команды сборки, соглашения, макет проекта, правила «всегда делай X». Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в skill или path-scoped rule вместо этого. Обзор расширений охватывает, когда использовать каждый механизм.

Выберите, где разместить файлы CLAUDE.md

Файлы CLAUDE.md могут находиться в нескольких местах, каждое с разной областью действия. Таблица ниже перечисляет их в порядке загрузки, от самой широкой области действия к наиболее специфичной, поэтому инструкция проекта появляется в контексте после инструкции пользователя.

Область действия Местоположение Назначение Примеры использования Общий доступ с
Управляемая политика • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
• Linux и WSL: /etc/claude-code/CLAUDE.md
• Windows: C:\Program Files\ClaudeCode\CLAUDE.md
Инструкции на уровне организации, управляемые IT/DevOps Стандарты кодирования компании, политики безопасности, требования соответствия Все пользователи в организации
Инструкции пользователя ~/.claude/CLAUDE.md Личные предпочтения для всех проектов Предпочтения стиля кода, личные ярлыки инструментов Только вы (все проекты)
Инструкции проекта ./CLAUDE.md или ./.claude/CLAUDE.md Инструкции, общие для команды проекта Архитектура проекта, стандарты кодирования, общие рабочие процессы Члены команды через систему контроля версий
Локальные инструкции ./CLAUDE.local.md Личные предпочтения, специфичные для проекта; добавьте в .gitignore Ваши URL-адреса песочницы, предпочитаемые тестовые данные Только вы (текущий проект)

Файлы CLAUDE.md и CLAUDE.local.md в иерархии каталогов выше рабочего каталога загружаются при запуске. Файлы в подкаталогах загружаются по требованию, когда Claude читает файлы в этих каталогах. Полный порядок разрешения см. в разделе Как загружаются файлы CLAUDE.md.

Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя project rules. Правила позволяют вам ограничить инструкции определёнными типами файлов или подкаталогами.

Установите проект CLAUDE.md

Проект CLAUDE.md может быть сохранён либо в ./CLAUDE.md, либо в ./.claude/CLAUDE.md. Создайте этот файл и добавьте инструкции, которые применяются к любому, кто работает над проектом: команды сборки и тестирования, стандарты кодирования, архитектурные решения, соглашения об именовании и общие рабочие процессы. Эти инструкции общие для вашей команды через систему контроля версий, поэтому сосредоточьтесь на стандартах уровня проекта, а не на личных предпочтениях. Чтобы подтвердить загрузку файла, запустите /context в сессии и проверьте список в разделе Memory files.

Напишите эффективные инструкции

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

Размер: нацеливайтесь на менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соответствие. Если ваши инструкции растут, используйте path-scoped rules, чтобы инструкции загружались только когда Claude работает с совпадающими файлами. Вы также можете разделить содержимое на imports для организации, хотя импортированные файлы всё ещё загружаются и входят в контекстное окно при запуске.

Структура: используйте заголовки markdown и маркеры для группировки связанных инструкций. Claude сканирует структуру так же, как читатели: организованные разделы легче следовать, чем плотные абзацы.

Специфичность: напишите инструкции, которые достаточно конкретны для проверки. Например:

  • «Используйте отступ из 2 пробелов» вместо «Форматируйте код правильно»
  • «Запустите npm test перед коммитом» вместо «Протестируйте ваши изменения»
  • «Обработчики API находятся в src/api/handlers/» вместо «Держите файлы организованными»

Согласованность: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и .claude/rules/ для удаления устаревших или конфликтующих инструкций. В монорепозиториях используйте claudeMdExcludes для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.

Импортируйте дополнительные файлы

Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис @path/to/import. Импортированные файлы развёртываются и загружаются в контекст при запуске наряду с CLAUDE.md, который их ссылает.

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

Анализ импорта пропускает диапазоны кода Markdown и блоки кода с ограждением. Чтобы упомянуть путь в вашем CLAUDE.md без его импорта, оберните его в обратные кавычки: написание `@README` сохраняет текст буквальным, в то время как @README вне обратных кавычек импортирует файл.

Чтобы включить README, package.json и руководство рабочего процесса, ссылайтесь на них с синтаксисом @ в любом месте вашего CLAUDE.md:

See @README for project overview and @package.json for available npm commands for this project.

# Additional Instructions
- git workflow @docs/git-instructions.md

Для личных предпочтений для каждого проекта, которые не должны быть зафиксированы в системе контроля версий, создайте CLAUDE.local.md в корне проекта. Он загружается наряду с CLAUDE.md и обрабатывается так же. Добавьте CLAUDE.local.md в ваш .gitignore, чтобы он не был зафиксирован. С установленным CLAUDE_CODE_NEW_INIT=1, запуск /init и выбор личного варианта делает это за вас.

Если вы работаете в нескольких git worktrees одного и того же репозитория, игнорируемый git CLAUDE.local.md существует только в worktree, где вы его создали. Чтобы поделиться личными инструкциями между worktrees, импортируйте файл из вашего домашнего каталога вместо этого:

# Individual Preferences
- @~/.claude/my-project-instructions.md

AGENTS.md

Claude Code читает CLAUDE.md, а не AGENTS.md. Если ваш репозиторий уже использует AGENTS.md для других кодирующих агентов, создайте CLAUDE.md, который импортирует его, чтобы оба инструмента читали одни и те же инструкции без их дублирования. Вы также можете добавить инструкции, специфичные для Claude, ниже импорта. Claude загружает импортированный файл при запуске сессии, затем добавляет остальное:

@AGENTS.md

## Claude Code

Use plan mode for changes under `src/billing/`.

Символическая ссылка также работает, если вам не нужно добавлять содержимое, специфичное для Claude:

ln -s AGENTS.md CLAUDE.md

Команда не выводит никакого вывода при успехе. В вашей следующей сессии запустите /context и подтвердите, что CLAUDE.md появляется в разделе Memory files.

На Windows создание символической ссылки требует привилегий администратора или режима разработчика, поэтому используйте импорт @AGENTS.md вместо этого.

Запуск /init читает правила Cursor в .cursor/rules/ или .cursorrules и правила Copilot в .github/copilot-instructions.md и включает соответствующие части в созданный CLAUDE.md. С установленным CLAUDE_CODE_NEW_INIT=1, /init также читает AGENTS.md, .devin/rules/, .windsurf/rules/ или .windsurfrules и .clinerules.

Вы также можете запустить /import для переноса конфигурации поддерживаемого кодирующего агента в Claude Code, который добавляет одноразовую копию файлов инструкций, таких как AGENTS.md, к соответствующему CLAUDE.md и переносит MCP серверы, команды, подагентов и skills. Требует Claude Code v2.1.213 или позже.

Как загружаются файлы CLAUDE.md

Claude Code загружает CLAUDE.md и CLAUDE.local.md из вашего текущего рабочего каталога и каждого каталога выше него. Запустите Claude Code в foo/bar/ и он загружает инструкции из foo/bar/CLAUDE.md, foo/CLAUDE.md и любых файлов CLAUDE.local.md рядом с ними.

Все обнаруженные файлы объединяются в контекст, а не переопределяют друг друга. По дереву каталогов содержимое упорядочено от корня файловой системы вниз к вашему рабочему каталогу. Для примера foo/bar/, foo/CLAUDE.md появляется в контексте перед foo/bar/CLAUDE.md, поэтому инструкции ближе к месту, где вы запустили Claude, читаются последними. В каждом каталоге CLAUDE.local.md добавляется после CLAUDE.md, поэтому ваши личные заметки — это последнее, что Claude читает на этом уровне.

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

Если вы работаете в большом монорепозитории, где подбираются файлы CLAUDE.md других команд, используйте claudeMdExcludes для их пропуска. Для полного макета корневых и каталогов CLAUDE.md файлов и правил см. Монорепозитории и большие репозитории.

Комментарии HTML на уровне блока (<!-- maintainer notes -->) в файлах CLAUDE.md удаляются перед тем, как содержимое вводится в контекст Claude. Используйте их для оставления заметок для человеческих сопровождающих без траты токенов контекста на них. Комментарии внутри блоков кода сохраняются. Когда вы открываете файл CLAUDE.md непосредственно с помощью инструмента Read, комментарии остаются видимыми.

Загрузка из дополнительных каталогов

Флаг --add-dir дает Claude доступ к дополнительным каталогам вне вашего основного рабочего каталога. По умолчанию файлы CLAUDE.md из этих каталогов не загружаются.

Чтобы также загружать файлы памяти из дополнительных каталогов, установите переменную окружения CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD:

CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

Это загружает CLAUDE.md, .claude/CLAUDE.md, .claude/rules/*.md и CLAUDE.local.md из дополнительного каталога. CLAUDE.local.md пропускается, если вы исключаете local из --setting-sources.

Организуйте правила с помощью `.claude/rules/`

Для больших проектов вы можете организовать инструкции в несколько файлов, используя каталог .claude/rules/. Это сохраняет инструкции модульными и облегчает их обслуживание командами. Правила также могут быть ограничены определёнными путями файлов, поэтому они загружаются в контекст только когда Claude работает с совпадающими файлами, снижая шум и экономя пространство контекста.

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

Поместите файлы markdown в каталог .claude/rules/ вашего проекта. Каждый файл должен охватывать одну тему с описательным именем файла, например testing.md или api-design.md. Все файлы .md обнаруживаются рекурсивно, поэтому вы можете организовать правила в подкаталоги, такие как frontend/ или backend/:

your-project/
├── .claude/
│   ├── CLAUDE.md           # Main project instructions
│   └── rules/
│       ├── code-style.md   # Code style guidelines
│       ├── testing.md      # Testing conventions
│       └── security.md     # Security requirements

Правила без frontmatter paths загружаются при запуске с тем же приоритетом, что и .claude/CLAUDE.md.

Правила проекта пропускаются, если вы исключаете project из --setting-sources. До v2.1.211 правила, которые загружаются по требованию, включая path-scoped правила и правила в вложенных каталогах .claude/rules/, загружались даже когда project был исключён.

Path-specific правила

Правила могут быть ограничены определёнными файлами, используя YAML frontmatter с полем paths. Эти условные правила применяются только когда Claude работает с файлами, совпадающими с указанными шаблонами.

---
paths:
  - "src/api/**/*.ts"
---

# API Development Rules

- All API endpoints must include input validation
- Use the standard error response format
- Include OpenAPI documentation comments

Правила без поля paths загружаются безусловно и применяются ко всем файлам. Path-scoped правила срабатывают, когда Claude читает файлы, совпадающие с шаблоном, а не при каждом использовании инструмента. Начиная с v2.1.198, сопоставление также работает, когда Claude достигает файла через символически связанный путь к каталогу проекта, например в символически связанном чекауте.

Используйте glob шаблоны в поле paths для сопоставления файлов по расширению, каталогу или любой комбинации:

Шаблон Совпадает
**/*.ts Все файлы TypeScript в любом каталоге
src/**/* Все файлы в каталоге src/
*.md Файлы Markdown в корне проекта
src/components/*.tsx React компоненты в определённом каталоге

Вы можете указать несколько шаблонов и использовать расширение скобок для сопоставления нескольких расширений в одном шаблоне:

---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---

Каждая группа скобок умножает количество развёрнутых шаблонов: src/*.{ts,tsx} развёртывается в два шаблона, а {a,b}/{c,d}/*.{ts,tsx} в восемь. Чтобы сохранить расширение ограниченным, весь список paths правила имеет один бюджет из 1000 развёрнутых шаблонов и 4 МиБ, и шаблоны без скобок не учитываются в нём.

Claude Code использует любой шаблон, который превысит бюджет неразвёрнутым, и его буквальные скобки не совпадают ни с какими файлами. До v2.1.217 значение paths со многими группами скобок зависало или вызывало сбой CLI при запуске.

Синтаксис Glob рассматривает [ как начало выражения скобок, такого как [abc]. Шаблон с [, который не может быть прочитан как выражение скобок, такой как photos [2024/**, является недействительным: он не совпадает ни с какими файлами, и другие шаблоны правила продолжают работать. Чтобы совпадать с буквальным [ в имени файла, экранируйте его как photos \[2024/**. До v2.1.207 один недействительный шаблон заставлял инструмент Read не работать для каждого файла, для которого оценивалось правило, вместо того чтобы не совпадать ни с чем.

Каталог .claude/rules/ поддерживает символические ссылки, поэтому вы можете поддерживать общий набор правил и связывать их в несколько проектов. Циклические символические ссылки обнаруживаются и обрабатываются корректно.

Claude Code рассматривает символическую ссылку, цель которой находится вне вашего рабочего каталога, как внешний импорт. Связанные правила не загружаются, пока вы не одобрите внешние импорты для проекта, и после этого загружаются только те, у которых нет поля paths. Claude Code просит это одобрение только когда файл памяти проекта импортирует файл вне рабочего каталога с @path, а не для самих символических ссылок. Чтобы загружать общие правила без этого одобрения, держите их в ~/.claude/rules/, где они применяются к каждому проекту на вашей машине.

Этот пример связывает как общий каталог, так и отдельный файл:

ln -s ~/shared-claude-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md

Правила уровня пользователя

Личные правила в ~/.claude/rules/ применяются к каждому проекту на вашей машине. Используйте их для предпочтений, которые не являются специфичными для проекта:

~/.claude/rules/
├── preferences.md    # Your personal coding preferences
└── workflows.md      # Your preferred workflows

Правила уровня пользователя загружаются перед правилами проекта, давая правилам проекта более высокий приоритет.

Управляйте CLAUDE.md для больших команд

Для организаций, развёртывающих Claude Code в командах, вы можете централизовать инструкции и контролировать, какие файлы CLAUDE.md загружаются.

Развёртывание CLAUDE.md на уровне организации

Организации могут развернуть централизованно управляемый CLAUDE.md, который применяется ко всем пользователям на машине. Этот файл не может быть исключён индивидуальными настройками.

1

Create the file at the managed policy location

  • macOS: /Library/Application Support/ClaudeCode/CLAUDE.md
  • Linux и WSL: /etc/claude-code/CLAUDE.md
  • Windows: C:\Program Files\ClaudeCode\CLAUDE.md
2

Deploy with your configuration management system

Используйте MDM, Group Policy, Ansible или аналогичные инструменты для распределения файла на машины разработчиков. См. управляемые настройки для других параметров конфигурации на уровне организации.

Ключ claudeMd позволяет вам поместить управляемое содержимое CLAUDE.md непосредственно внутри managed-settings.json вместо развёртывания отдельного файла.

Область действия: каждая сессия Claude Code на машине, в каждом репозитории. Для руководства, специфичного для репозитория, зафиксируйте проект CLAUDE.md вместо этого.

Приоритет: то же самое, что и управляемый файл CLAUDE.md. Загружается перед пользователем и проектом CLAUDE.md.

Где это соблюдается: только управляемые и политические настройки. Установка claudeMd в пользовательские, проектные или локальные настройки не имеет эффекта.

Пример ниже добавляет инструкции поведения непосредственно в файл управляемых настроек:

{
  "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."
}

Управляемый CLAUDE.md и управляемые настройки служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для руководства поведением:

Проблема Настроить в
Блокировать определённые инструменты, команды или пути файлов Управляемые настройки: permissions.deny
Принудительная изоляция песочницы Управляемые настройки: sandbox.enabled
Переменные окружения и маршрутизация поставщика API Управляемые настройки: env
Метод входа и ограничения организации Управляемые настройки: forceLoginMethod, forceLoginOrgUUID
Стиль кода и рекомендации по качеству Управляемый CLAUDE.md
Напоминания об обработке данных и соответствии Управляемый CLAUDE.md
Инструкции поведения для Claude Управляемый CLAUDE.md

Правила настроек принудительно применяются клиентом независимо от того, что Claude решит делать. Инструкции CLAUDE.md формируют поведение Claude, но не являются жёстким слоем принуждения.

Исключите определённые файлы CLAUDE.md

В больших монорепозиториях файлы CLAUDE.md предков могут содержать инструкции, которые не имеют отношения к вашей работе. Параметр claudeMdExcludes позволяет вам пропустить определённые файлы по пути или glob шаблону.

Этот пример исключает файл CLAUDE.md верхнего уровня и каталог правил из родительской папки. Добавьте его в .claude/settings.local.json, чтобы исключение оставалось локальным для вашей машины:

{
  "claudeMdExcludes": [
    "**/monorepo/CLAUDE.md",
    "/home/user/monorepo/other-team/.claude/rules/**"
  ]
}

Шаблоны сопоставляются с абсолютными путями файлов, используя синтаксис glob. Вы можете настроить claudeMdExcludes на любом уровне настроек: пользователь, проект, локальный или управляемая политика. Массивы объединяются по слоям.

Чтобы исключить файл правила, который вы достигаете через символическую ссылку, будь то файл или его каталог является ссылкой, напишите шаблон против любого пути: пути файла в .claude/rules/ или его цели ссылки. Шаблон, который совпадает с любым путём, исключает файл. До v2.1.239 только шаблон, который совпадал с целью ссылки, исключал файл.

Управляемые файлы политики CLAUDE.md не могут быть исключены. Это гарантирует, что инструкции на уровне организации всегда применяются независимо от индивидуальных настроек.

Auto memory

Auto memory позволяет Claude накапливать знания между сеансами без вашего участия. По мере работы Claude сохраняет четыре вида заметок для себя. Claude записывает вид как поле type в frontmatter файла памяти:

  • user: ваша роль, опыт и предпочтения в работе
  • feedback: исправления, которые вы даёте Claude, и подходы, которые вы подтверждаете
  • project: текущая работа, сроки и решения, которые Claude не может вывести из кода или истории git
  • reference: где найти информацию вне проекта, например трекер проблем или панель управления

Claude пропускает всё, что он может вывести из кодовой базы, такое как архитектура, пути файлов или исправления отладки. Он также пропускает всё, что уже говорят ваши файлы CLAUDE.md.

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

Включите или отключите auto memory

Auto memory включена по умолчанию. Чтобы переключить её, откройте /memory в сеансе и используйте переключатель auto memory, который сохраняет autoMemoryEnabled в ваши пользовательские настройки в ~/.claude/settings.json. Чтобы отключить её для одного проекта, установите autoMemoryEnabled в настройках этого проекта:

{
  "autoMemoryEnabled": false
}

Чтобы отключить auto memory через переменную окружения, установите CLAUDE_CODE_DISABLE_AUTO_MEMORY=1.

Местоположение хранилища

Каждый проект получает свой собственный каталог памяти в ~/.claude/projects/<project>/memory/. Путь <project> получается из репозитория git, поэтому все worktrees и подкаталоги в одном репозитории используют один каталог auto memory. Вне репозитория git вместо этого используется корень проекта.

Если вы установите CLAUDE_CODE_PROJECT_DIR_NAME рядом с CLAUDE_CONFIG_DIR, Claude Code использует это имя как каталог <project> под <config dir>/projects/ независимо от того, в каком репозитории вы его запустите, поэтому проекты, запущенные с этим каталогом конфигурации, используют один каталог auto memory. Требуется Claude Code v2.1.234 или позже.

Чтобы сохранить auto memory в другом местоположении, установите autoMemoryDirectory в вашем settings.json. Он читается из любой области настроек: пользователя, проекта, локальной, политики или --settings.

{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}

Значение должно быть абсолютным путём или начинаться с ~/. Когда вы установите его в .claude/settings.json или .claude/settings.local.json проекта, Claude Code соблюдает его в соответствии с тем же правилом доверия рабочей области, что и hooks в файлах настроек.

Каталог содержит индекс MEMORY.md и один файл по теме на память:

~/.claude/projects/<project>/memory/
├── MEMORY.md           # Индекс, одна строка на память, загружается в каждый сеанс
├── user_role.md        # Одна память
├── feedback_testing.md # Одна память
└── ...                 # Любые другие файлы по темам, которые создаёт Claude

MEMORY.md служит индексом каталога памяти. Claude читает и пишет файлы в этом каталоге на протяжении вашего сеанса, используя MEMORY.md для отслеживания того, что хранится где.

Auto memory зависит от машины. Все worktrees и подкаталоги в одном репозитории git используют один каталог auto memory. Файлы не общие между машинами или облачными окружениями.

Claude Code удаляет старые стенограммы сеансов после периода хранения cleanupPeriodDays, но исключает файлы памяти в каталоге памяти из этого периода хранения. MEMORY.md и файлы по темам остаются до тех пор, пока вы или Claude не отредактируете или не удалите их.

Как это работает

Первые 200 строк MEMORY.md, или первые 25KB, в зависимости от того, что наступит раньше, загружаются в начале каждого разговора. Содержимое после этого порога не загружается при запуске сеанса. Claude держит MEMORY.md лаконичным, перемещая подробные заметки в отдельные файлы по темам.

После того как Claude пишет в MEMORY.md, Claude Code измеряет файл в соответствии с ограничениями чтения в 200 строк и 25KB. Если файл близок к ограничению, Claude Code напоминает Claude сократить его: оставить одну строку на запись, переместить детали в файлы по темам и объединить или удалить устаревшие записи. Если файл превышает ограничение, запись всё ещё успешна, но Claude Code возвращает ошибку, указывающую Claude переписать индекс, потому что всё после ограничения отбрасывается при следующей загрузке.

Это ограничение применяется только к MEMORY.md. Claude Code загружает файл CLAUDE.md размером до 4 MiB полностью и пропускает больший файл. Более короткие файлы дают лучшее соблюдение.

Claude Code не загружает файлы по темам, такие как user_role.md или feedback_testing.md, при запуске. Claude читает их по требованию, используя свои стандартные инструменты файлов, когда ему нужна информация.

Память auto memory основного разговора не загружается в подагентов; исключением является fork, который наследует родительский разговор и системный prompt. Собственная auto memory подагента, включённая с полем memory подагента, — это отдельный каталог.

Claude читает и пишет файлы памяти во время вашего сеанса. Когда вы видите сообщения вроде "Saved 2 memories" или "Recalled 2 memories" в интерфейсе Claude Code, Claude активно обновляет или читает из ~/.claude/projects/<project>/memory/.

Когда Claude пишет файл памяти, который начинается с YAML frontmatter, Claude Code записывает время записи в поле modified frontmatter как временную метку ISO 8601. Временная метка показывает, насколько актуален факт, как для вас, так и для Claude, когда он читает память обратно. Любой файл, который имеет frontmatter, получает это поле при следующей записи Claude, включая файлы, созданные в более ранних версиях; Claude Code никогда не добавляет frontmatter к файлу, который его не имеет. Поле modified требует Claude Code v2.1.214 или позже.

Проверьте и отредактируйте вашу память

Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите /memory для просмотра и открытия файлов памяти из сеанса.

Просмотр и редактирование с помощью `/memory`

Команда /memory перечисляет ваши файлы CLAUDE.md, CLAUDE.local.md и другие файлы памяти в разных областях пользователя и проекта, включая записи CLAUDE.md пользователя и проекта для файлов, которые еще не существуют. Она также позволяет переключать auto memory включена или отключена и предоставляет опцию для открытия папки auto memory. Выберите любой файл для открытия его в вашем редакторе; выбор файла, который еще не существует, сначала создает его. Чтобы проверить, какие файлы фактически загружены в текущий сеанс, запустите /context.

Графические редакторы, такие как VS Code, открывают файл в отдельном окне, и вы можете продолжать использовать сеанс, пока он открыт. До версии 2.1.216 /memory ждал, пока вы закроете файл, прежде чем ответить. Редакторы терминала, такие как Vim, захватывают терминал, пока вы не выйдете.

Когда вы просите Claude что-то запомнить, например "всегда используйте pnpm, а не npm" или "помните, что тесты API требуют локального экземпляра Redis", Claude сохраняет это в auto memory. Чтобы добавить инструкции в CLAUDE.md, попросите Claude напрямую, например "добавьте это в CLAUDE.md", или отредактируйте файл самостоятельно через /memory.

Устранение неполадок с памятью

Это наиболее распространённые проблемы с CLAUDE.md и auto memory, а также шаги для их отладки.

Claude не следует моему CLAUDE.md

Содержимое CLAUDE.md доставляется как пользовательское сообщение после системного запроса, а не как часть самого системного запроса. Claude читает его и пытается следовать ему, но нет гарантии строгого соответствия, особенно для расплывчатых или конфликтующих инструкций.

Для отладки:

  • Запустите /context и проверьте список под Memory files, чтобы убедиться, что ваши файлы CLAUDE.md и CLAUDE.local.md загружены. Если файл отсутствует там, Claude не может его видеть. Используйте /memory для открытия и редактирования файлов.
  • Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. Выберите, где разместить файлы CLAUDE.md).
  • Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".
  • Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.

Если инструкция — это что-то, что должно выполняться в определённый момент, например перед каждым коммитом или после каждого редактирования файла, напишите её как hook. Hooks выполняются как команды shell в фиксированных событиях жизненного цикла и применяются независимо от того, что решит сделать Claude.

Для инструкций, которые вы хотите на уровне системного запроса, используйте --append-system-prompt. Вы передаёте это при запуске, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования. О том, как оно ведёт себя при возобновлении разговора, см. System prompt flags in resumed conversations.

Я не знаю, что сохранила auto memory

Запустите /memory и выберите папку auto memory для просмотра того, что Claude сохранил. Всё это простой markdown, который вы можете читать, редактировать или удалять.

Мой CLAUDE.md слишком большой

Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Claude Code пропускает файл размером более 4 MiB. Используйте path-scoped rules для загрузки инструкций только когда Claude работает с соответствующими файлами, или сократите содержимое, которое не требуется в каждом сеансе. Разделение на @path imports помогает организации, но не снижает контекст, так как импортированные файлы загружаются при запуске.

Проверка /doctor предлагает сокращения для проверенного CLAUDE.md: она удаляет содержимое, которое Claude может вывести из кодовой базы, такое как макеты каталогов, списки зависимостей и обзоры архитектуры, и сохраняет подводные камни, обоснование и соглашения, которые отличаются от стандартных инструментов. Проверка сокращения требует Claude Code v2.1.206 или более поздней версии.

Инструкции кажутся потерянными после `/compact`

CLAUDE.md в корне проекта выживает при сжатии: после /compact Claude повторно читает его с диска и повторно вводит его в сеанс. Вложенные файлы CLAUDE.md в подкаталогах и правила с paths: frontmatter перезагружаются по мере того, как Claude читает файлы, к которым они применяются.

Если инструкция исчезла после сжатия, она была дана только в разговоре, находится в вложенном CLAUDE.md, который ещё не перезагрузился, или является правилом с областью действия пути, которое не совпадало с файлом с момента сжатия. Добавьте инструкции только для разговора в CLAUDE.md, чтобы они сохранялись. Полный список см. в разделе What survives compaction.

Подробнее см. в разделе Write effective instructions для рекомендаций по размеру, структуре и конкретности.

  • Отладка вашей конфигурации: диагностируйте, почему CLAUDE.md или настройки не вступают в силу
  • Skills: упакуйте повторяемые рабочие процессы, которые загружаются по требованию
  • Settings: настройте поведение Claude Code с помощью файлов настроек
  • Subagent memory: позвольте subagents поддерживать собственную auto memory