# Idle compaction в Claude Code: что это и как отключить

URL: https://agentvera.dev/ru/blog/claude-code-idle-compaction/ · Опубликовано: 2026-11-06

Claude Code теперь сжимает длинные диалоги, простоявшие около часа. Что изменилось в v2.1.299–2.1.318, как это отключить и что это значит для параллельных агентов.

**Коротко:**

- С версии 2.1.299 (14 октября 2026) Claude Code сжимает диалог больше 200K токенов, простоявший около часа, незадолго до того, как истечёт его часовой кэш промптов.
- Отключается через "idleCompaction": false в settings.json или строку Idle compaction в /config (v2.1.302+). DISABLE_AUTO_COMPACT=1 выключает её вместе с автосжатием.
- У каждой параллельной сессии свой кэш, и сжимается она отдельно: агент, который час ждал вашего ответа, может продолжить работу уже по краткому пересказу.

Вы оставили длинную сессию Claude Code на час, вернулись и видите незнакомое сообщение: **«Compacted while idle, before the prompt cache expired.»** Это idle compaction, сжатие при простое. Anthropic выпустила его в октябре 2026 года и с тех пор расширяет почти в каждом релизе. Функция включена по умолчанию, поэтому многие сталкиваются с ней раньше, чем читают о ней.

В статье разберём, что делает idle compaction, когда она срабатывает, как её настроить или отключить и что она меняет, если у вас несколько агентов работают бок о бок.

## Что изменилось и когда

Даты — это даты публикации версий в npm, описания взяты из [журнала изменений Claude Code](https://code.claude.com/docs/en/changelog "Claude Code changelog").

| Версия | Дата | Изменение |
| --- | --- | --- |
| 2.1.299 | 14 октября 2026 | Idle compaction в терминале: диалог больше 200K токенов, простоявший около 54 минут, сжимается до того, как истечёт его часовой кэш промптов. Появились `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` и настройка `idleCompaction`. |
| 2.1.302 | 16 октября 2026 | Строка **Idle compaction** в `/config`, чтобы выключить или снова включить функцию. Уведомление после сжатия теперь подсказывает, как её отключить. |
| 2.1.314 | 30 октября 2026 | Idle compaction в VS Code и во вкладке Code десктопного приложения. Работает и у подписчиков с выключенной телеметрией, и на Bedrock, Vertex, Foundry и LLM-шлюзах, если включён часовой кэш. |
| 2.1.318 | 3 ноября 2026 | Исправлено: idle compaction могла заменить диалог ответом, который не был пересказом. |

Если вы пользуетесь idle compaction, обновитесь до 2.1.318 или новее ради этого исправления.

## Зачем Claude Code сжимает диалог, пока вас нет

Каждое сообщение заново отправляет весь диалог. Дёшево это только благодаря кэшу промптов: API повторно использует то, что уже обработал. Но кэш истекает после периода бездействия. Если вернуться позже, следующее сообщение обработает всю историю как некэшированный ввод, а для диалога больше 200K токенов это медленно и дорого.

Сжимать дешевле всего, пока кэш ещё тёплый: запрос на пересказ читает историю из кэша. Idle compaction пользуется именно этим окном: незадолго до истечения часового кэша Claude Code пишет пересказ. Когда вы возвращаетесь, следующее сообщение начинается с короткого пересказа, а не с пересборки всего диалога. Подробнее об этом компромиссе — в [документации по кэшу промптов](https://code.claude.com/docs/en/prompt-caching "How Claude Code uses prompt caching").

## Когда срабатывает idle compaction

Согласно [справочнику настроек](https://code.claude.com/docs/en/settings-reference#idlecompaction "idleCompaction"), диалог подходит, только если выполнены все условия:

- **Сессия:** интерактивная сессия в терминале, панель чата расширения VS Code или вкладка Code десктопного приложения, если сессия работает на вашем компьютере или по SSH.
- **Автосжатие** (`autoCompactEnabled`) включено.
- **Кэш промптов:** диалог работает с часовым TTL.
- **Размер:** контекст достиг порога, по умолчанию 200 000 токенов.
- **Простой:** с последнего запроса прошло около часа, и компьютер всё это время не засыпал.

Условие про кэш важнее, чем кажется. По умолчанию Claude Code запрашивает часовой TTL только для основного диалога в подписке Claude и только пока вы в пределах лимитов тарифа. С API-ключом или облачным провайдером по умолчанию пять минут, и idle compaction не сработает, если не задать `promptCacheTtl` равным `1h`. Если вы превысили лимит тарифа и перешли на кредиты использования, основной диалог тоже переключается на пять минут.

## Как отключить

Достаточно одного способа:

- **Файл настроек:** добавьте `"idleCompaction": false` в `~/.claude/settings.json` или в файл настроек проекта, чтобы отключить только в этом репозитории.
- **`/config`:** переключите строку **Idle compaction**. Выбор сохраняется в пользовательских настройках и применяется сразу (v2.1.302 и новее).
- **Переменная окружения:** `DISABLE_AUTO_COMPACT=1` отключает idle compaction вместе с автоматическим сжатием. Ручной `/compact` продолжает работать.

```json
{
  "idleCompaction": false
}
```

Если в `/config` нет этой строки, скорее всего, ключ задаёт другой источник настроек: управляемые настройки, файл проекта или `--settings`. Меняйте его там.

## Как настроить порог

`CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` задаёт, насколько большим должен быть диалог, чтобы к нему применялась idle compaction. Значения меньше 100 000 поднимаются до 100 000.

Есть деталь, которую стоит знать. На модели с окном 200K автосжатие срабатывает раньше, чем диалог дойдёт до 200 000 токенов, так что при пороге по умолчанию idle compaction затрагивает в основном сессии с контекстом 1M. Чтобы охватить и диалоги с окном 200K, понизьте порог:

```json
{
  "env": {
    "CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS": "150000"
  }
}
```

## Что остаётся после сжатия

Сжатие заменяет историю сообщений пересказом, но пропадает не всё. CLAUDE.md из корня проекта и автопамять заново подгружаются с диска, план из режима планирования возвращается, а Claude Code перечитывает до пяти файлов, которые он читал или правил, начиная с последних изменённых. Фоновые команды и фоновые субагенты продолжают работать. Уходят детали: точный вывод инструментов, длинные рассуждения, обсуждение, которое привело к решению. Подробнее — в нашем [руководстве по контекстному окну Claude Code](/ru/blog/claude-code-context-window/ "Контекстное окно Claude Code").

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

## Что это значит при нескольких агентах

Idle compaction задумана под одного человека, который отошёл от одной сессии. С несколькими параллельными агентами картина другая:

- **Каждая сессия оценивается сама по себе.** Сессии в разных папках строят разные префиксы кэша, поэтому агенты в отдельных git worktree никогда не делят кэш. Каждый, кто перешёл порог и простоял около часа, сжимается независимо.
- **Ждущий агент — простаивающий агент.** Агент, который закончил ход и ждёт вашего ревью или ответа на вопрос, считается простаивающим. Когда после обеда вы доберётесь до четвёртой панели, он может уже работать по пересказу. Для «отлично, выкатывай» это не страшно, а для «вернись к подходу, который ты отбросил раньше» — уже хуже.
- **Субагенты и напарники не в фокусе.** По умолчанию они в группе пятиминутного кэша. Idle compaction касается ваших основных диалогов.
- **Headless-запуски не затрагиваются.** Запуски с `-p` и сессии Agent SDK не подпадают под условия, так что ночные пайплайны на их основе работают как раньше. Об интерактивной ночной работе — в статье [как безопасно запустить Claude Code на ночь](/ru/blog/run-claude-code-overnight/ "Claude Code на ночь").
- **Ноутбук не должен засыпать.** Если компьютер уснёт, час пройдёт без сжатия, и вы снова заплатите за перечитывание без кэша.

Практичная схема: оставить idle compaction включённой по умолчанию, отключить её в одном-двух репозиториях, где агент часто ждёт вас посреди задачи, и стараться отвечать агентам с вопросами в течение часа.

## При чём здесь AgentVera

Мы делаем AgentVera — десктопное приложение для macOS, Windows и Linux, которое запускает Claude Code, Codex и ещё 16 агентов для программирования бок о бок, каждого в настоящем терминале с вашей установкой и вашим аккаунтом. Некоторые его части перекликаются с idle compaction:

- **[Экономия токенов](/ru/features/token-savings/ "Экономия токенов")**: автосжатие по умолчанию включено для каждого агента с порогом 150K токенов и использует собственную команду сжатия каждого CLI, а на каждой панели виден текущий размер контекста. Сообщение агенту, простоявшему больше часа, сначала сжимает большой диалог — это работает и для агентов без собственной idle compaction.
- **Уведомления:** вы узнаёте, когда агент закончил или ждёт ввода, поэтому меньше агентов простаивает дольше часа.
- **Бюджеты токенов и лимиты использования:** ограничение на агента и, в строке состояния, 5-часовое и недельное использование каждого аккаунта Claude и Codex.

Бесплатный тариф включает до 18 агентов, MCP, Git, Docker, SSH и код-ревью. Более широкое сравнение — в обзоре [приложений для параллельных Claude Code и Codex](/ru/blog/best-tools-parallel-ai-coding-agents/ "Параллельные Claude Code и Codex").

## Итог

Idle compaction — небольшая настройка по умолчанию с понятной целью: сжать длинный диалог, пока кэш ещё тёплый, чтобы ваше возвращение не стоило полного перечитывания без кэша. Ей нужна интерактивная сессия, часовой кэш и достаточно большой контекст. Порог можно понизить через `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS`, а отключить — через `"idleCompaction": false` или `/config`. Когда вас ждут сразу несколько агентов, решайте для каждого проекта, хватит ли пересказа, и отвечайте сначала тем, кому нужен полный контекст.

Источники: [журнал изменений Claude Code](https://code.claude.com/docs/en/changelog "Claude Code changelog"), [idleCompaction в справочнике настроек](https://code.claude.com/docs/en/settings-reference#idlecompaction "idleCompaction"), [How Claude Code uses prompt caching](https://code.claude.com/docs/en/prompt-caching "Prompt caching") и [Explore the context window](https://code.claude.com/docs/en/context-window "Context window").

## Частые вопросы

**Что такое idle compaction в Claude Code?** Длинный диалог, от которого вы отошли, сжимается в краткий пересказ незадолго до того, как истечёт его часовой кэш промптов. Следующее сообщение отправляет этот пересказ вместо всей истории, которую иначе пришлось бы обработать заново без кэша.

**Как отключить idle compaction?** Пропишите "idleCompaction": false в файле настроек или переключите строку Idle compaction в /config (Claude Code v2.1.302 и новее). DISABLE_AUTO_COMPACT=1 тоже её отключает, вместе с автоматическим сжатием.

**Почему диалог сжался, хотя я не запускал /compact?** Если в терминале есть строка, начинающаяся с «Compacted while idle, before the prompt cache expired», сработала idle compaction. В VS Code и десктопном приложении в уведомлении есть фраза «a summary written while you were away».

**Работает ли она с API-ключом или в режиме -p?** Нужна интерактивная сессия (терминал, панель чата VS Code или вкладка Code десктопного приложения) с часовым кэшем. С API-ключом основной диалог по умолчанию использует пятиминутный кэш, если не задать promptCacheTtl равным 1h, а запуски с -p не затрагиваются.

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

---

**Об AgentVera.** AgentVera — настольное приложение для macOS, Windows и Linux от Solviera Teknoloji. Оно запускает 18 ИИ-агентов для программирования (Claude Code, Codex, Gemini CLI, Copilot, Cursor, Antigravity, opencode, Hermes, Qwen Code, Kimi Code, Kiro, Amp, Droid, Goose, Vibe, Crush, Aider, Cline) рядом, по проектам, в настоящих терминалах с собственными установками CLI и входами пользователя. В бесплатном тарифе количество агентов не ограничено. Скачать: https://agentvera.dev/ru/download/ · Цены: https://agentvera.dev/ru/pricing/
