Случалось ли вам застрять на этой ошибке в Claude Code или в API?

Prompt is too long

# On the API, more specifically:
prompt is too long: 233153 tokens > 200000 maximum

«Промпт слишком длинный» — то есть входные данные, которые вы пытаетесь отправить (история диалога + прикреплённые файлы + определения инструментов и т. д.), превышают окно контекста модели (предел ввода). В API вам даже сообщают, «сколько токенов и при каком максимуме» — как в 233153 tokens > 200000 maximum. Это не то же самое, что usage limit — у вас не закончилась квота; просто один ввод физически слишком велик.

Сразу три ключевых тезиса. (1) Причина — «ввод не помещается в окно». Это не обрезка вывода по max_tokens и не квота usage limit. (2) Claude Code обычно избегает этого автоматически за счёт auto-compact (автоматического суммирования), поэтому если вы это видите, то либо «разом перескочили окно», либо отключили auto-compact. (3) Самые быстрые решения — /compact для суммирования истории, /clear для нового старта и вынос огромных чтений в subagent. В этой статье разберём, что заполняет окно, какие бывают размеры окна (200K и 1M), как это исправить и как отличить от похожих ошибок — на основе официальной информации.

CLAUDE CODE · CONTEXT WINDOW

Пока «окно» не заполнится

— что заполняет контекст и когда он переполняется

system prompt
CLAUDE.md
определения MCP
прочитанные файлы
результаты инструментов
диалог (растёт)

накапливается до 100%, и тогда...

100%
= 200K / 1M tokens
Prompt is
too long

Обычно auto-compact
суммирует до переполнения

Это означает, что «окно ввода» заполненоэто не usage limit (квота) и не обрезка вывода (max_tokens).
Соотношения слоёв условны. Реальную разбивку смотрите через /context.

1. О чём говорит эта ошибка

У AI-моделей есть предел ввода, который называется «окном контекста» (context window). Это «максимальный объём информации, который можно прочитать за один обмен», измеряемый в токенах (грубо говоря, фрагментах слов). Prompt is too long означает, что суммарное число токенов ввода, который вы пытались отправить, превысило это окно. В API даже выводятся цифры: 233153 tokens > 200000 maximum (вы отправили 233 153 токена; предел — 200 000).

Главное здесь то, что речь идёт о стороне ввода. Окно контекста суммирует историю диалога, прикреплённые/прочитанные файлы, результаты выполнения инструментов, системный промпт и определения инструментов MCP. Ведите долгий диалог, прочитайте гигантский файл целиком или накопите много вывода инструментов — и окно постепенно заполнится и в какой-то момент переполнится. О самом понятии см. Что такое окно контекста.

Учтите, что в Claude Code по умолчанию обычно включён auto-compact (автоматическое суммирование), который автоматически суммирует историю, освобождая место, когда окно близко к заполнению. Поэтому обычно вы эту ошибку не видите. Если она всё же появляется, то, как правило, потому что (1) один ввод разом перескочил окно (например, вставка гигантского файла) или (2) вы отключили auto-compact (DISABLE_AUTO_COMPACT).

2. Что заполняет окно контекста

«Оно переполняется быстрее, чем ожидалось» — потому что невидимые элементы тоже расходуют окно. Вот основная разбивка из официальной документации Claude Code.

Что заполняет окноСодержимоеКак облегчить
История диалогаКаждый ход пользователя/ассистента. Самый весомый фактор — она растёт, пока её не очистят/compact для суммирования, /clear для перезапуска
Прочитанные файлыКаждый файл, прочитанный через Read, попадает в окно. Чтение гигантского файла целиком — тяжелоЧитать по диапазонам строк; выносить крупные чтения в subagent
Результаты инструментовВывод команд, результаты поиска и т. д. тоже накапливаютсяИзбегать лишнего огромного вывода; почаще делать compact
Определения инструментов MCPОпределения инструментов подключённых серверов MCP. Чем больше серверов, тем больше они едят с самого началаОтключать неиспользуемый MCP через /mcp
CLAUDE.md / памятьИнструкции проекта/глобальные, автопамять. Всегда загруженыИзбегать разрастания; проверять через /doctor
Системный промптБазовые инструкции поведения. Всегда присутствует, фиксирован, неприкосновенен(Сократить нельзя. Уменьшайте остальное)

Суть в том, что «история диалога, чтения файлов, результаты инструментов» — динамические факторы, которые растут, а «определения MCP, CLAUDE.md, системный промпт» — фиксированные факторы, присутствующие с самого начала. Хитрость в том, что у subagent есть СВОЁ окно — вынесите чтение гигантского файла или исследование в subagent, и его результат (тяжёлые сырые данные) никогда не попадёт в ваше основное окно. Посмотрите, что именно ест окно, через /context. О дисциплине осознанного проектирования контекста см. контекст-инжиниринг.

3. Размеры окна — 200K и 1M

«Каков максимум» зависит от модели. Вот общая картина на 2026 год (конкретные значения могут пересматриваться, поэтому сверяйтесь с актуальным официальным списком).

200K vs 1M

Окно может отличаться в 5 раз

Стандарт 200K tokens
Sonnet 4.5, Haiku 4.5, Opus 4.5 и др. «200000 maximum», который вы видите в ошибке, — это оно. Достаточно для большинства повседневных задач, но легко переполняется на огромных кодовых базах или в долгих сессиях.
1M tokens
Opus 4.8/4.7/4.6, Sonnet 4.6 и др. В 5 раз больше стандарта. На 2026 год доступно по стандартной цене (надбавки за длинный контекст сейчас нет). В Claude Code отображается с суффиксом [1m].
Осторожно: 1M — не панацея
(1) В подписках для модели [1m] могут потребоваться usage credits. (2) Более новые модели используют изменённый токенизатор, который для того же текста расходует примерно на 30–35% больше токенов (так что даже 1M вмещает меньше, чем кажется). Прежде чем расширять окно, базовый ход — не засорять его.

Размеры окна, поддержка 1M и цены со временем пересматриваются. Не заучивайте фиксированные значения — сверяйтесь с актуальным официальным списком моделей.

Соблазнительно подумать, что «переход на модель 1M решает всё», но большее окно — это бегство, а не всегда решение. Расширьте окно, оставив захламлённый диалог, расточительное чтение файлов целиком и неиспользуемый MCP, — и вы лишь повысите стоимость и замедлите ответы. Грамотный подход — сначала навести порядок в окне (compact, clear, subagents) и использовать 1M только для действительно крупных задач, которым он всё ещё нужен.

4. Как исправить прямо сейчас

Действия на момент появления ошибки, в порядке приоритета. Выбирайте по ситуации (раздулась история / вы скормили гигантский файл).

FIXES

Как освободить окно

1) /compact (сначала)
Суммировать историю, чтобы освободить место. Можно сфокусировать: /compact focus on the auth bug. Сохраняет контекст, делая его компактнее.
2) /clear (новая задача)
Стереть диалог. CLAUDE.md и информация проекта остаются. Самый быстрый вариант при переходе к не связанной работе.
3) Вынести крупные чтения
Читать гигантские файлы по диапазону строк или поручить subagent исследование с возвратом только вывода (он использует своё окно).
4) Урезать фиксированную нагрузку
Через /context посмотрите разбивку, затем отключите неиспользуемый MCP и сократите CLAUDE.md. /doctor укажет на разрастание.
5) Модель 1M, если это действительно огромная задача
Только когда это вам действительно нужно (например, работа с целой крупной кодовой базой), переключитесь через /model на модель с контекстом 1M. Но сначала наведите порядок (1–4). Не отключайте auto-compact (держите его включённым по умолчанию).

По умолчанию — 1) /compact, затем 2) /clear. Если переполнение в основном из-за «крупного чтения», используйте 3). Если оно хроническое, урежьте фиксированную нагрузку через 4).

Примечание: сам /compact может завершиться ошибкой «Conversation too long. Press esc twice...» — это значит, что окно уже настолько заполнено, что нет места даже для вставки сводки. В этом случае нажмите Esc дважды, чтобы подняться на несколько сообщений вверх, или сделайте /clear для перезапуска. О системной экономии токенов см. Экономия токенов в Claude Code.

5. Как различить три похожие ошибки

В семействе «слишком длинно / застряло» несколько участников, и решения могут быть противоположными. Различайте эти три (+ одну), чтобы не путать их.

СимптомЧто это на самом делеОсновное решение
Prompt is too long / N tokens > M maximumТема этой статьи. Ввод превысил окно контекста/compact, /clear, вынос крупных чтений в subagent, модель 1M
Ответ обрезан (stop_reason: max_tokens)Вывод был усечён по значению max_tokens, заданному в запросе (это не проблема окна)Повысить max_tokens / попросить продолжить
usage limit reachedКвота использования вашего плана исчерпана (не связано с окном токенов)Дождаться сброса; решения по usage limit
Usage credits required for 1M contextВопрос прав доступа. Вы выбрали модель [1m], не входящую в ваш план (не переполнение и не квота)Включить кредиты или через /model перейти к стандартному окну

Критерий: если вы видите цифры вида «N tokens > M maximum» — это переполнение ввода = эта статья. Аккуратно усечённый ответ — это предел вывода (max_tokens). «reset at [время]» — это usage limit. «credits required for 1M» — это вопрос прав доступа (плана). О других распространённых ошибках Claude Code см. сводку по ошибкам.

6. Чек-лист профилактики

Привычки, которые удержат окно от переполнения.

(1) Держите auto-compact включённым по умолчанию (не отключайте его через DISABLE_AUTO_COMPACT). (2) Делайте /clear на границах задач; почаще /compact в середине диалога. (3) Читайте гигантские файлы по диапазону строк или через subagent; не вставляйте их целиком. (4) Отключайте неиспользуемый MCP и не давайте CLAUDE.md разрастаться (проверяйте через /doctor). (5) Перед тяжёлой работой проверяйте разбивку через /context. (6) Используйте модель 1M только для действительно крупных задач; в остальное время работайте на стандартном окне + наводите порядок.

Итоги

В Claude Code / API «Prompt is too long» означает, что ввод (история диалога + файлы + определения инструментов и т. д.) превысил окно контекста модели. В API даже показывается предел в виде N tokens > M maximum. Это не usage limit (квота) и не обрезка вывода (max_tokens) — это «ввод физически слишком велик». Claude Code обычно избегает этого за счёт auto-compact, поэтому если ошибка появилась, то вы либо разом перескочили окно, либо отключили auto-compact.

Окно заполняют история диалога, чтения файлов, результаты инструментов (динамические) + определения MCP, CLAUDE.md, системный промпт (фиксированные). Самые быстрые решения — (1) /compact -> (2) /clear -> (3) вынос крупных чтений в subagent -> (4) урезание фиксированной нагрузки через /context -> (5) модель 1M, только если действительно нужно. Размеры окна — стандарт 200K и 1M; 1M на 2026 год по стандартной цене, но учтите, что в подписках могут потребоваться кредиты, а новый токенизатор расходует больше. Базовое правило: прежде чем расширять окно, перестаньте его засорять. Связанное: Что такое окно контекста, контекст-инжиниринг, решения по usage limit.

FAQ

Q. «Prompt is too long» и «usage limit reached» — это одно и то же?
A. Совершенно разные вещи. «Prompt is too long» означает, что один ввод превысил окно контекста (предел токенов). «usage limit reached» означает, что вы исчерпали квоту использования своего плана — это не связано с окном токенов. Первое мгновенно решается освобождением окна через /compact или /clear; второе требует ожидания сброса или действий по плану.

Q. Обычно это не появляется, а тут вдруг возникло. Почему?
A. В Claude Code auto-compact включён по умолчанию и автоматически суммирует историю, чтобы этого избежать, когда окно близко к заполнению. Если ошибка всё же появилась, то, как правило, потому что (1) вы скормили гигантский файл или огромный объём данных разом и перескочили окно, или (2) вы отключили auto-compact через DISABLE_AUTO_COMPACT. Первое лечится разбиением / чтением по диапазону строк / subagent, второе — повторным включением auto-compact.

Q. Я запустил /compact и получил «Conversation too long» — оно даже не может суммировать.
A. Окно уже настолько заполнено, что нет места даже для вставки сводки. Нажмите Esc дважды, чтобы подняться на несколько сообщений вверх, и повторите, или сделайте /clear для перезапуска диалога. Впредь делайте /compact до заполнения и выносите крупные чтения в subagent, чтобы избежать повторения.

Q. Решит ли проблему переход на модель с контекстом 1M?
A. Это помогает для крупных задач, но не панацея. Расширение окна при сохранении захламлённой истории, расточительного чтения файлов целиком и неиспользуемого MCP лишь повышает стоимость и замедляет ответы. К тому же более новые модели используют изменённый токенизатор, который для того же текста расходует примерно на 30–35% больше токенов, так что вмещает меньше, чем кажется. Грамотный ход — сначала навести порядок (compact/clear/subagent), а затем использовать 1M, только когда это действительно нужно. Учтите, что в подписках для [1m] могут потребоваться кредиты.

Q. Хочу узнать, что именно съедает окно.
A. Команда /context в Claude Code показывает разбивку — системный промпт, CLAUDE.md, определения инструментов MCP, история диалога, прочитанные файлы и т. д. В большинстве случаев главные виновники — постоянно растущая история диалога и чтения крупных файлов. /doctor также укажет на раздувшийся CLAUDE.md или определения subagent. Если велика фиксированная нагрузка (определения MCP, CLAUDE.md), эффективно урезать именно её.