Ошибка Claude Code Prompt is too long означает, что отправляемый ввод превышает предел контекстного окна. В интерактивном интерфейсе её основная форма — строка, начинающаяся с Context limit reached, а длинные формы с указанием причины показываются как Prompt is too long ·. Вторая половина строки зависит от ситуации, и именно в ней написан следующий шаг. Сверьте строку на своём экране со списком ниже.

# Интерактивный интерфейс (обычно)
Context limit reached · /compact or /clear to continue

# Интерактивный интерфейс (автоматическое сжатие отключено)
Context limit reached · /compact or /clear to continue · auto-compact is off · /config to turn it on

# Интерактивный интерфейс (сжатие полностью отключено через DISABLE_COMPACT)
Context limit reached · /clear to continue

# Вывод -p и журнал разговора
Prompt is too long

# Автоматическое сжатие не удалось из-за другой ошибки
Prompt is too long · automatic compaction failed: <the underlying error>

# Разговор из одного обмена, историю нечего суммировать
Prompt is too long · this conversation is a single exchange and cannot be compacted — …
Prompt is too long · the request is ~<N> tokens (limit <limit>) … A single-exchange conversation cannot be compacted; …

# Через Amazon Bedrock
Input is too long for requested model.

# Не удалось само /compact (раздел 4)
Error during compaction: Conversation too long. Press esc twice to go up a few messages and try again.

# Тело ответа API (числа для примера)
prompt is too long: 209117 tokens > 200000 maximum

Как продолжить работу →

Ввод — не только последний набранный текст: в него могут входить история разговора, прочитанные файлы, результаты инструментов и инструкции. Фрагмент 209117 tokens > 200000 maximum в теле ответа API означает, что 209 117 токенов ввода превысили предел в 200 000. Само контекстное окно включает и ввод, и генерируемый для этого ответа вывод; эта ошибка означает, что предел превышен уже одним вводом. Способ восстановления отличается от ситуации исчерпания лимита использования, когда израсходован объём, доступный по плану за определённый период.

Используйте /compact для длинной истории; уменьшите ввод, если уже первое сообщение слишком велико; при ошибке сжатия сначала устраните указанную причину. Это основные пути восстановления. Автоматическое сжатие по умолчанию включено и обычно предотвращает эту ошибку; если она всё же появилась, пути расходятся именно по этим трём случаям. На основе официальной документации об ошибках Claude Code и спецификаций API по состоянию на 21 сентября 2026 года разберём причины, восстановление и условия использования 200K и 1M. Прямые обращения к API рассмотрены отдельно.

Claude Code

Одинаковая ошибка «слишком длинно» требует разных сокращений

Во время длинного разговора

Сожмите предыдущую историю. Если окно снова заполняется сразу после сжатия, разделите большие чтения на части.

Исходный ввод уже слишком велик

Предыдущего разговора для сжатия нет. Начните с меньших вставок, вложений, инструкций и накладных расходов инструментов.

Не удаётся само сжатие

Сначала устраните сопутствующую причину: например, ошибку аутентификации или недоступность модели. Одно повторение сжатия не поможет.

Команда /context показывает состав окна, а /usage — расход за период или лимиты плана. Обе связаны с токенами, но измеряют разное.

1. Что означает эта ошибка

Контекстное окно ограничивает объём информации, который модель может учитывать и генерировать в одном ответе. Оно измеряется в токенах, а не символах, и включает ввод, вывод текущего ответа и токены рассуждения. Ввод из кэша API тоже занимает окно. Кэширование меняет стоимость или обработку, но не сводит занимаемое место к нулю. См. спецификацию контекстного окна Anthropic.

Ошибка Prompt is too long возникает, когда отправляемый ввод уже сам по себе не помещается в окно. Даже короткий вопрос может быть частью большого запроса, если с ним передаются история или файлы. Поэтому сокращения только последнего вопроса иногда недостаточно. Основы — в статье Что такое контекстное окно?

При приближении к пределу Claude Code удаляет старые результаты инструментов и при необходимости суммирует разговор. Работа всё же останавливается при огромной вставке, отключённом автоматическом сжатии или сбое самого сжатия. Бывает и так, что сразу после сжатия тот же огромный файл читается снова и окно опять заполняется. Какой это случай, видно по второй половине строки из начала статьи: после automatic compaction failed: следует причина сбоя сжатия, single exchange означает, что суммировать нечего, а auto-compact is off — что автоматическое сжатие выключено.

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

Следующая разбивка основана на описании работы Claude Code. Сохранённый журнал разговора не идентичен текущему вводу модели. Удаление старых результатов инструментов или сжатие меняет содержимое активного окна.

КомпонентЧто попадает в окноЧто проверить
История разговораРеплики, передаваемые в текущем запросе. Сжатие заменяет часть истории сводкой/compact для той же задачи; /clear для следующей, не связанной с ней задачи
Файлы и результаты инструментовПрочитанное содержимое файлов, результаты поиска, вывод команд и подобные материалыСужайте поиск, читайте нужные строки или поручайте подробное исследование субагенту
MCPНазвания инструментов и инструкции серверов. По умолчанию Tool Search загружает подробные определения по мере необходимостиПроверяйте реальный объём через /context и отключайте ненужные серверы через /mcp
CLAUDE.md и памятьПрименимые инструкции и загруженная память. Не каждый файл автоматической памяти присутствует постоянноСокращайте постоянные правила, выносите пояснения для отдельных задач в отдельные материалы
НавыкиОбычно описания при запуске и содержимое при использовании. Настройки могут отложить и загрузку описанийПересмотрите лишних кандидатов на автоматический вызов и слишком длинные тексты навыков
Системные инструкцииРабочие инструкции Claude Code или среды подключенияНачните с инструкций, вложений и инструментов, которыми управляете сами

По умолчанию Tool Search загружает определения инструментов MCP только тогда, когда они понадобятся. При запуске сессии в окно попадают лишь названия инструментов и описания серверов, поэтому добавление серверов мало влияет на окно. Определения загружаются сразу, например, если задано ENABLE_TOOL_SEARCH=false, для сервера указан alwaysLoad или задано CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS. При работе через шлюз с ANTHROPIC_BASE_URL Tool Search с версии v2.1.304 включён по умолчанию (все условия — в официальной таблице настроек Tool Search). Реальную нагрузку оценивайте не по числу серверов, а через /context.

Субагенты исследуют в отдельном окне и могут вернуть результаты без всех промежуточных выводов инструментов в родительском разговоре. Однако возвращённая сводка или выводы всё равно занимают родительское окно. Просьба воспроизвести всё исследование уменьшает пользу. Задавайте нужный результат, например: «Верни только относящиеся к делу файлы и строки, выводы и открытые вопросы». Кроме того, субагенты наследуют все определения инструментов MCP от родительской сессии, поэтому официальная документация об ошибках советует отключать неиспользуемые серверы MCP до запуска субагентов. Принципы описаны в статье Инженерия контекста.

Используйте /context для оценки заполнения текущего окна и /usage для оценки расхода токенов и использования плана. Показанная во втором случае стоимость — оценка, а не окончательный счёт. В поддерживаемых средах /skill-doctor также проверяет накладные расходы навыков. Если команды нет, начните с /context. Шаги измерения описаны в статье Что занимает ваш контекст?, а условия доступности — в официальном списке команд.

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

200K — это 200 000 токенов, 1M — миллион. Но ёмкость модели, используемый Claude Code размер для вашего подключения, порог автоматического сжатия и условия оплаты — это разные числа. Текущую модель и аккаунт показывает /status, доступные варианты — /model.

Отделяйте ёмкость от условий использования

Примеры использования 200K

Например, Sonnet 4.5. Claude Code может использовать и модель с поддержкой 1M как 200K из-за подключения или настройки, отключающей 1M.

Примеры использования 1M

В Anthropic API — например, семейство Fable, Sonnet 5 или новее и Opus 4.7 или новее. Для некоторых 1M используется по умолчанию; добавлять [1m] нужно не всегда.

Источник: Конфигурация моделей и расширенный контекст Anthropic. Момент запуска автоматического сжатия зависит от настроек и модели.

В подписках usage credits касаются только Opus 4.6 и Sonnet 4.6, которые получают 1M через вариант [1m]. Opus 4.6 с 1M входит в Max, Team и Enterprise, но на Pro требует usage credits; Sonnet 4.6 с 1M требует usage credits в любой подписке. Семейство Fable, Sonnet 5 или новее (включая текущий Sonnet 5.5) и Opus 4.7 или новее при прямом подключении к Anthropic API работают иначе: 1M доступен по умолчанию на всех планах, включая Pro, без дополнительных usage credits и выбора [1m]. Шлюзы и настройки, отключающие 1M, создают исключения, поэтому одного названия модели недостаточно.

«Стандартная цена» для 1M означает отсутствие дополнительной надбавки за токен длинного контекста при превышении 200K. Это не означает неограниченный дополнительный ввод за ту же общую сумму. Обработка большего числа токенов увеличивает расход. Включён ли 1M в план или оплачивается кредитами — отдельный вопрос.

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

4. Как продолжить работу

Выбирайте действие по ситуации: выросла история или во ввод добавлен большой файл. Варианты ниже расположены по приоритету.

ИСПРАВЛЕНИЯ

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

1. /compact — если есть история
Сожмите историю разговора, чтобы освободить место. Можно задать приоритет, например /compact Сосредоточься на ошибке аутентификации. Это уменьшает объём, сохраняя контекст.
2. /clear — при переходе к другой задаче
Начните разговор с чистого листа. Сначала запишите нужные решения. Файлы проекта при этом не удаляются.
3. Вынесите большие чтения из основного разговора
Читайте огромные файлы по диапазонам строк или поручите субагенту исследовать их в своём окне и вернуть только выводы.
4. Сократите повторно загружаемый материал
Посмотрите состав через /context, затем отключите ненужные MCP-серверы и сократите CLAUDE.md. Вынесите подробные процедуры отдельно, чтобы читать их только при необходимости.
5. Выберите 1M, если задача действительно этого требует
Для задач, которым действительно нужно большое окно, например работы с огромной кодовой базой, через /model выберите модель с контекстом 1M. Сначала выполните очистку из шагов 1–4. Не отключайте автоматическое сжатие: оставьте его включённым по умолчанию.

Для длинной истории используйте шаг 1, для следующей несвязанной задачи — 2. Для слишком большого начального ввода — 3 и 4. Если указана причина сбоя сжатия, сначала устраните её.

Если /compact завершается ошибкой Error during compaction: Conversation too long, значит, не хватает места для создаваемой сводки. При пустом поле ввода дважды нажмите Esc (или выполните /rewind), чтобы открыть меню отката, и откатите разговор к сообщению перед большим вводом. Чтобы откатить только разговор, оставив код как есть, выберите Restore conversation. Затем повторите сжатие; если места всё ещё мало, используйте /clear и начните с меньшего ввода. Предыдущий разговор сохраняется, и его можно открыть снова через /resume. Пункты меню описаны в официальном описании отката.

Если после automatic compaction failed: указана ошибка аутентификации или недоступная модель, сначала устраните эту причину, а уже потом освобождайте окно. Пока она не устранена, /compact тоже будет завершаться той же ошибкой. Если /compact отвечает Not enough messages to compact., разговор состоит из одного обмена и суммировать нечего. Выполните /clear и отправьте запрос заново, сократив вставленный текст или уменьшив вложения. Если окно заполняется сразу после сжатия, ограничьте последние большие журналы или файлы нужными частями.

При прямых обращениях к API

/compact и /clear — операции Claude Code, а не управляющие команды для Messages API. Если один лишь ввод превышает окно, API возвращает ошибку 400 invalid_request_error («prompt is too long»). Пересмотрите отправляемые messages, system, tools и вложения; оцените ввод через API подсчёта токенов целевой модели. Уменьшайте сам запрос: суммируйте старую историю, оставляйте нужные разделы документов, убирайте лишние определения. Не разрывайте пары вызовов инструментов и их результатов. Для длинных разговоров доступно и сжатие на стороне API, но поддерживаемые модели и настройки отличаются от команд Claude Code.

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

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

Слишком большой ввод, заданный предел вывода, достижение предела окна при генерации и расход за период — разные проблемы. Различайте их по тексту ошибки или полю API stop_reason, а не по тому, что ответ оборвался.

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

По спецификации API Anthropic, Claude 4.5 и новее принимает запрос, если сам ввод помещается, даже когда ввод вместе с запрошенным max_tokens превышает окно. Достижение предела окна при генерации даёт model_context_window_exceeded, поэтому один короткий ответ ещё не доказывает остановку из-за max_tokens. Другие проблемы — в статье Частые ошибки Claude Code.

См. также: если в приложении Codex история видна, но сообщения не отправляются, дело не в объёме ввода, а в состоянии беседы; этот случай разобран в статье «thread not found» в Codex: диагностика и пример восстановления.

6. Профилактика

Перед работой: проверьте загруженное через /context. Сужайте большие документы поиском или диапазонами строк вместо вставки целиком. Делегируя исследование, задавайте и объём выводов, которые должен вернуть субагент.

Во время работы: оставляйте автоматическое сжатие включённым, как по умолчанию. Если в строке ошибки появилось auto-compact is off, включите его снова через /config. Если оно отключено переменной окружения DISABLE_AUTO_COMPACT, эта подсказка не появляется, поэтому уберите эту настройку. Убедитесь также, что после каждого сжатия не перечитывается тот же материал. Более частое ручное сжатие не обязательно лучше: важны момент запуска /compact и указание решений, которые нужно сохранить.

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

Нестандартные подключения: при использовании шлюза или собственного ID модели посмотрите, не расходится ли предполагаемое Claude Code окно с реальной ёмкостью подключения. Увеличение числа в конфигурации не расширяет настоящее окно модели. Как их согласовать, описано в официальных настройках собственных моделей.

Итоги

Prompt is too long означает, что полный ввод с историей и вложениями не помещается, а не только последняя набранная фраза. Выбирайте по ситуации: /compact для длинной истории, сокращение слишком большого начального ввода или устранение причины ошибки сжатия.

Какой это случай, подсказывает вторая половина строки ошибки (automatic compaction failed:, single exchange, auto-compact is off). Подробные определения MCP по умолчанию загружаются по запросу, поэтому нагрузку оценивайте не по числу серверов, а через /context. Для 1M ёмкость, оплата и порог автоматического сжатия определяются отдельно в зависимости от модели, подключения и плана. При прямом использовании API пересматривайте не команды Claude Code, а отправляемый запрос и причину остановки.

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

В. «Prompt is too long» и «usage limit reached» — одно и то же?
О. Нет. Первая ошибка означает превышение контекстного предела одним запросом, вторая относится к объёму использования по плану. При слишком большом вводе сократите отправляемое. /clear не восстанавливает объём, доступный по плану.

В. Почему ошибка возникает при включённом автоматическом сжатии?
О. Причины — огромный ввод, отсутствие предыдущего разговора для сжатия, сбой сжатия или повторное заполнение окна сразу после него. Различить их можно по второй половине строки ошибки. Если после automatic compaction failed: указана причина вроде ошибки аутентификации, сначала устраните её. При single exchange выполните /clear и начните с меньшего ввода.

В. /compact тоже выдаёт «Conversation too long».
О. Не хватает места для сводки. При пустом поле ввода дважды нажмите Esc, чтобы открыть меню отката, откатите разговор к сообщению перед большим вводом и повторите попытку. Чтобы сохранить код, выберите Restore conversation. Если этого мало, запишите важное и начните с меньшего ввода после /clear.

В. Поможет ли переход на модель 1M?
О. Может помочь, если нужный ввод помещается в новое окно, но условия доступности зависят от модели, подключения и плана. Стандартная цена за токен при 1M не означает прежнюю общую стоимость при большем объёме обработки. Сначала сократите лишнюю историю и огромные выводы: так проще оценить нужную ёмкость.

В. Как понять, что занимает окно?
О. В Claude Code смотрите разбивку через /context. Это не накопленный расход или лимиты плана в /usage. Определения MCP по умолчанию загружаются по запросу, поэтому по одному числу подключений нагрузку не понять. Для API оценивайте запрос через API подсчёта токенов целевой модели.