Как 1M-контекст Claude Code съедает лимиты в 3-4 раза быстрее

Заметил неприятное: недельный лимит Max-подписки в Claude Code стал таять буквально за день. Проекты те же, поведение то же — а треть недельного окна улетает за 4 часа работы. Разобрался, в чём дело (спасибо Артёму Мухину за разбор), и делюсь короткой выжимкой.

Что случилось

В марте 2026 года тихо приехали два изменения:

  1. 1M-контекст включили по умолчанию. Раньше сессия упиралась в 200K, теперь тянется до миллиона.
  2. Из plan mode убрали опцию «clear context and implement». Теперь весь длинный разговор планирования остаётся в сессии.

UX при этом не поменялся вообще. Та же скорость ответов, тот же статусбар, /stats показывает те же цифры. А расход токенов вырос в 3.7 раза за три недели: было ~27M в день, стало ~100M.

Почему это дорого

Claude Code — итеративная сессия. На каждый новый запрос API получает заново всё: системный промпт, CLAUDE.md, определения инструментов и всю историю разговора. Это биллится как cache_read_input_tokens.

1
cache_read = размер контекста × количество сообщений

Ты пишешь одинаковые ~2K токенов на сообщение, хоть на первом, хоть на тридцатом. Но на 30-м API уже перечитывает ~250K накопленной истории. С 200K-сессией ты упирался в стенку за ~50 сообщений и делал /compact — кеш сбрасывался. С 1M-сессией разговор тянется 300+ сообщений, контекст пухнет до 500K, и каждое сообщение перечитывает весь хвост. Грубо: 5M против 90M cache_read на «одну задачу» — разница почти в 18 раз.

А почему не замечаешь? Потому что увидеть это можно только одним способом — посчитав свои jsonl-файлы. В UI этого нигде нет.

Фикс — две строки в settings.json

В ~/.claude/settings.json:

1
2
3
4
5
6
{
"env": {
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"
},
"showClearContextOnPlanAccept": true
}

Перезапустить Claude Code — и всё. Первая строка возвращает сессии на 200K (/compact вступает раньше, cache read падает на 50-70%). Вторая возвращает в меню plan mode опцию «очистить контекст», чтобы имплементация шла с чистого листа без хвоста от обсуждения.

Что ещё помогает держаться в бюджете

  • /clear между несвязанными задачами. Самый большой рычаг. Сменил тему — жми /clear. Контекст — это расходник.
  • Худеть CLAUDE.md. Файл улетает в каждое сообщение: 10K токенов × 300 сообщений = 3M cache_read в день просто так. Редко нужное выноси в отдельные файлы.
  • Субагенты осознанно. Каждый subagent — это свой полный контекст с нуля. Для параллельного поиска ок, для последовательных задач проще делать напрямую.

Проверить себя

Скопируй этот промпт в Claude Code и получи свой график за полминуты:

1
2
3
4
5
6
7
8
9
Прочитай все файлы в ~/.claude/projects/**/*.jsonl,
дедуплицируй сообщения по message.id, выдели поля
timestamp, message.usage.cache_read_input_tokens
и message.model. Сгруппируй по дням за последние
60 дней. Покажи:
1) total токенов в день
2) max cache_read в одном сообщении
3) сколько сообщений в день имели контекст >200K
Найди первый день когда контекст пробил 200K.

Если после какой-то даты max_ctx скакнул выше 200K — ты в 1M-режиме. Это не ты стал работать больше: UX тот же, а цена в 3-4 раза выше. Две строки в конфиге возвращают всё на место.