> ## Documentation Index
> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

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

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

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

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

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

* [Писать и организовывать файлы CLAUDE.md](#claude-md-files)
* [Ограничивать правила определёнными типами файлов](#organize-rules-with-claude/rules/) с помощью `.claude/rules/`
* [Настраивать auto memory](#auto-memory) так, чтобы Claude автоматически делал заметки
* [Устранять неполадки](#troubleshoot-memory-issues) когда инструкции не соблюдаются

<h2 id="claude-md-vs-auto-memory">
  CLAUDE.md и auto memory
</h2>

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

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

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

Subagents также могут поддерживать собственную auto memory. Подробнее см. в разделе [конфигурация subagent](/ru/sub-agents#enable-persistent-memory).

<h2 id="claude-md-files">
  Файлы CLAUDE.md
</h2>

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

<h3 id="when-to-add-to-claude-md">
  Когда добавлять в CLAUDE.md
</h3>

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

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

Ограничивайте это фактами, которые Claude должен помнить в каждом сеансе: команды сборки, соглашения, макет проекта, правила "всегда делай X". Если запись — это многошаговая процедура или имеет значение только для одной части кодовой базы, переместите её в [skill](/ru/skills) или [правило с ограничением по пути](#organize-rules-with-claude/rules/) вместо этого. [Обзор расширений](/ru/features-overview#build-your-setup-over-time) охватывает, когда использовать каждый механизм.

<h3 id="choose-where-to-put-claude-md-files">
  Выберите, где разместить файлы CLAUDE.md
</h3>

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

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

Файлы CLAUDE.md и CLAUDE.local.md в иерархии каталогов выше рабочего каталога загружаются полностью при запуске. Файлы в подкаталогах загружаются по требованию, когда Claude читает файлы в этих каталогах. Полный порядок разрешения см. в разделе [Как загружаются файлы CLAUDE.md](#how-claude-md-files-load).

Для больших проектов вы можете разбить инструкции на файлы, специфичные для темы, используя [правила проекта](#organize-rules-with-claude/rules/). Правила позволяют ограничить инструкции определёнными типами файлов или подкаталогами.

<h3 id="set-up-a-project-claude-md">
  Установите CLAUDE.md проекта
</h3>

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

<Tip>
  Запустите `/init` для автоматического создания начального CLAUDE.md. Claude анализирует вашу кодовую базу и создаёт файл с командами сборки, инструкциями тестирования и соглашениями проекта, которые он обнаруживает. Если CLAUDE.md уже существует, `/init` предлагает улучшения вместо перезаписи. Уточните оттуда с помощью инструкций, которые Claude не смог бы обнаружить самостоятельно.

  Установите `CLAUDE_CODE_NEW_INIT=1` для включения интерактивного многофазного потока. `/init` спрашивает, какие артефакты настроить: файлы CLAUDE.md, skills и hooks. Затем он исследует вашу кодовую базу с помощью subagent, заполняет пробелы через дополнительные вопросы и представляет проверяемое предложение перед написанием каких-либо файлов.
</Tip>

<h3 id="write-effective-instructions">
  Пишите эффективные инструкции
</h3>

Файлы CLAUDE.md загружаются в context window в начале каждого сеанса, потребляя токены наряду с вашим разговором. [Визуализация context window](/ru/context-window) показывает, где загружается CLAUDE.md относительно остального контекста при запуске. Поскольку это контекст, а не принудительная конфигурация, то, как вы пишете инструкции, влияет на то, насколько надёжно Claude их соблюдает. Лучше всего работают конкретные, лаконичные, хорошо структурированные инструкции.

**Размер**: целевой показатель менее 200 строк на файл CLAUDE.md. Более длинные файлы потребляют больше контекста и снижают соблюдение. Если ваши инструкции становятся большими, используйте [правила с ограничением по пути](#path-specific-rules), чтобы инструкции загружались только когда Claude работает с соответствующими файлами. Вы также можете разделить содержимое на [импорты](#import-additional-files) для организации, хотя импортированные файлы всё равно загружаются и входят в context window при запуске.

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

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

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

**Согласованность**: если два правила противоречат друг другу, Claude может выбрать одно произвольно. Периодически проверяйте ваши файлы CLAUDE.md, вложенные файлы CLAUDE.md в подкаталогах и файлы [`.claude/rules/`](#organize-rules-with-claude/rules/), чтобы удалить устаревшие или конфликтующие инструкции. В монорепозиториях используйте [`claudeMdExcludes`](#exclude-specific-claude-md-files) для пропуска файлов CLAUDE.md от других команд, которые не имеют отношения к вашей работе.

<h3 id="import-additional-files">
  Импортируйте дополнительные файлы
</h3>

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

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

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

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

```text theme={null}
Смотрите @README для обзора проекта и @package.json для доступных команд npm для этого проекта.

# Дополнительные инструкции
- git workflow @docs/git-instructions.md
```

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

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

```text theme={null}
# Личные предпочтения
- @~/.claude/my-project-instructions.md
```

<Warning>
  В первый раз, когда Claude Code встречает внешние импорты в проекте, он показывает диалог одобрения со списком файлов. Если вы отклоните, импорты остаются отключёнными и диалог больше не появляется.
</Warning>

Для более структурированного подхода к организации инструкций см. [`.claude/rules/`](#organize-rules-with-claude/rules/).

<h3 id="agents-md">
  AGENTS.md
</h3>

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

```markdown CLAUDE.md theme={null}
@AGENTS.md

## Claude Code

Используйте plan mode для изменений в `src/billing/`.
```

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

```bash theme={null}
ln -s AGENTS.md CLAUDE.md
```

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

Запуск [`/init`](/ru/commands) в репозитории, который уже имеет `AGENTS.md`, читает его и включает соответствующие части в созданный `CLAUDE.md`. Он также читает другие конфигурации инструментов, такие как `.cursorrules`, `.devin/rules/` и `.windsurfrules`.

<h3 id="how-claude-md-files-load">
  Как загружаются файлы CLAUDE.md
</h3>

Claude Code читает файлы CLAUDE.md, проходя вверх по дереву каталогов из вашего текущего рабочего каталога, проверяя каждый каталог на пути для файлов `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`](#exclude-specific-claude-md-files) для их пропуска. Для полного макета корневых и каталог-специфичных файлов CLAUDE.md и правил см. [Монорепозитории и большие репозитории](/ru/large-codebases).

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

<h4 id="load-from-additional-directories">
  Загрузка из дополнительных каталогов
</h4>

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

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

```bash theme={null}
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`](/ru/cli-reference).

<h3 id="organize-rules-with-claude/rules/">
  Организуйте правила с помощью `.claude/rules/`
</h3>

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

<Note>
  Правила загружаются в контекст каждый сеанс или когда открываются соответствующие файлы. Для инструкций, специфичных для задачи, которые не нужны в контексте всё время, используйте [skills](/ru/skills), которые загружаются только при их вызове или когда Claude определяет, что они имеют отношение к вашему запросу.
</Note>

<h4 id="set-up-rules">
  Установите правила
</h4>

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

```text theme={null}
your-project/
├── .claude/
│   ├── CLAUDE.md           # Основные инструкции проекта
│   └── rules/
│       ├── code-style.md   # Рекомендации по стилю кода
│       ├── testing.md      # Соглашения тестирования
│       └── security.md     # Требования безопасности
```

Правила без [frontmatter `paths`](#path-specific-rules) загружаются при запуске с тем же приоритетом, что и `.claude/CLAUDE.md`.

<h4 id="path-specific-rules">
  Правила, специфичные для пути
</h4>

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

```markdown theme={null}
---
paths:
  - "src/api/**/*.ts"
---

# Правила разработки API

- Все конечные точки API должны включать проверку входных данных
- Используйте стандартный формат ответа об ошибке
- Включите комментарии документации OpenAPI
```

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

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

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

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

```markdown theme={null}
---
paths:
  - "src/**/*.{ts,tsx}"
  - "lib/**/*.ts"
  - "tests/**/*.test.ts"
---
```

<h4 id="share-rules-across-projects-with-symlinks">
  Делитесь правилами между проектами с помощью symlinks
</h4>

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

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

```bash theme={null}
ln -s ~/shared-claude-rules .claude/rules/shared
ln -s ~/company-standards/security.md .claude/rules/security.md
```

<h4 id="user-level-rules">
  Правила на уровне пользователя
</h4>

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

```text theme={null}
~/.claude/rules/
├── preferences.md    # Ваши личные предпочтения кодирования
└── workflows.md      # Ваши предпочтительные рабочие процессы
```

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

<h3 id="manage-claude-md-for-large-teams">
  Управляйте CLAUDE.md для больших команд
</h3>

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

<h4 id="deploy-organization-wide-claude-md">
  Развёртывание CLAUDE.md на уровне организации
</h4>

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

<Steps>
  <Step title="Создайте файл в местоположении управляемой политики">
    * macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md`
    * Linux и WSL: `/etc/claude-code/CLAUDE.md`
    * Windows: `C:\Program Files\ClaudeCode\CLAUDE.md`
  </Step>

  <Step title="Развёртывание с помощью вашей системы управления конфигурацией">
    Используйте MDM, Group Policy, Ansible или аналогичные инструменты для распределения файла на машины разработчиков. Подробнее см. в разделе [управляемые настройки](/ru/permissions#managed-settings) для других параметров конфигурации на уровне организации.
  </Step>
</Steps>

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

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

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

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

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

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

Управляемый CLAUDE.md и [управляемые настройки](/ru/settings#settings-files) служат разным целям. Используйте настройки для технического принуждения и CLAUDE.md для поведенческого руководства:

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

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

<h4 id="exclude-specific-claude-md-files">
  Исключите определённые файлы CLAUDE.md
</h4>

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

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

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

Шаблоны сопоставляются с абсолютными путями файлов с использованием синтаксиса glob. Вы можете настроить `claudeMdExcludes` на любом [уровне настроек](/ru/settings#settings-files): пользователь, проект, локальный или управляемая политика. Массивы объединяются между уровнями.

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

<h2 id="auto-memory">
  Auto memory
</h2>

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

<Note>
  Auto memory требует Claude Code v2.1.59 или позже. Проверьте вашу версию с помощью `claude --version`.
</Note>

<h3 id="enable-or-disable-auto-memory">
  Включите или отключите auto memory
</h3>

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

```json theme={null}
{
  "autoMemoryEnabled": false
}
```

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

<h3 id="storage-location">
  Местоположение хранилища
</h3>

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

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

```json theme={null}
{
  "autoMemoryDirectory": "~/my-custom-memory-dir"
}
```

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

Каталог содержит точку входа `MEMORY.md` и дополнительные файлы по темам:

```text theme={null}
~/.claude/projects/<project>/memory/
├── MEMORY.md          # Краткий индекс, загружается в каждый сеанс
├── debugging.md       # Подробные заметки о шаблонах отладки
├── api-conventions.md # Решения по проектированию API
└── ...                # Любые другие файлы по темам, которые создаёт Claude
```

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

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

<h3 id="how-it-works">
  Как это работает
</h3>

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

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

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

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

<h3 id="audit-and-edit-your-memory">
  Проверьте и отредактируйте вашу память
</h3>

Файлы auto memory — это простой markdown, который вы можете редактировать или удалять в любое время. Запустите [`/memory`](#view-and-edit-with-%2Fmemory) для просмотра и открытия файлов памяти из сеанса.

<h2 id="view-and-edit-with-/memory">
  Просмотр и редактирование с помощью `/memory`
</h2>

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

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

<h2 id="troubleshoot-memory-issues">
  Устранение неполадок с памятью
</h2>

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

<h3 id="claude-isn’t-following-my-claude-md">
  Claude не следует моему CLAUDE.md
</h3>

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

Для отладки:

* Запустите `/memory` для проверки загрузки ваших файлов CLAUDE.md и CLAUDE.local.md. Если файл не указан, Claude не может его видеть.
* Проверьте, что соответствующий CLAUDE.md находится в местоположении, которое загружается для вашего сеанса (см. [Выберите, где разместить файлы CLAUDE.md](#choose-where-to-put-claude-md-files)).
* Сделайте инструкции более конкретными. "Используйте отступ из 2 пробелов" работает лучше, чем "красиво форматируйте код".
* Ищите конфликтующие инструкции в файлах CLAUDE.md. Если два файла дают разные рекомендации для одного поведения, Claude может выбрать одну произвольно.

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

Для инструкций, которые вы хотите на уровне системного запроса, используйте [`--append-system-prompt`](/ru/cli-reference#system-prompt-flags). Это должно быть передано при каждом вызове, поэтому оно лучше подходит для скриптов и автоматизации, чем для интерактивного использования.

<Tip>
  Используйте hook [`InstructionsLoaded`](/ru/hooks#instructionsloaded) для логирования точно того, какие файлы инструкций загружены, когда они загружаются и почему. Это полезно для отладки правил, специфичных для пути, или ленивых загруженных файлов в подкаталогах.
</Tip>

<h3 id="i-don’t-know-what-auto-memory-saved">
  Я не знаю, что сохранила auto memory
</h3>

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

<h3 id="my-claude-md-is-too-large">
  Мой CLAUDE.md слишком большой
</h3>

Файлы более 200 строк потребляют больше контекста и могут снизить соблюдение. Используйте [правила с областью действия пути](#path-specific-rules) для загрузки инструкций только когда Claude работает с соответствующими файлами, или сократите содержимое, которое не требуется в каждом сеансе. Разделение на [`@path` импорты](#import-additional-files) помогает организации, но не снижает контекст, так как импортированные файлы загружаются при запуске.

<h3 id="instructions-seem-lost-after-/compact">
  Инструкции кажутся потерянными после `/compact`
</h3>

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

Если инструкция исчезла после сжатия, она была дана только в разговоре или находится в вложенном CLAUDE.md, который ещё не перезагрузился. Добавьте инструкции только для разговора в CLAUDE.md, чтобы они сохранялись. Полный список см. в разделе [Что выживает при сжатии](/ru/context-window#what-survives-compaction).

Подробнее см. в разделе [Пишите эффективные инструкции](#write-effective-instructions) для рекомендаций по размеру, структуре и конкретности.

<h2 id="related-resources">
  Связанные ресурсы
</h2>

* [Отладка вашей конфигурации](/ru/debug-your-config): диагностируйте, почему CLAUDE.md или настройки не вступают в силу
* [Skills](/ru/skills): упакуйте повторяемые рабочие процессы, которые загружаются по требованию
* [Settings](/ru/settings): настройте поведение Claude Code с помощью файлов настроек
* [Subagent memory](/ru/sub-agents#enable-persistent-memory): позвольте subagents поддерживать собственную auto memory
