Breaking changes Claude Haiku 5.5: пять ошибок 400 при переходе с Haiku 4.5 и официальные исправления
По состоянию на 2026-10-08 официальная страница What's new от Anthropic помечает пять изменений при переходе с Claude Haiku 4.5 на Claude Haiku 5.5 как Breaking, и каждое из них может привести к ответу 400: ручной budget_tokens, нестандартные temperature / top_p / top_k, prefill с последним ходом assistant, старый инструмент computer_20250124 и правка ранних ходов при возврате блоков thinking. По каждому пункту здесь указано, что изменилось, дословный текст ошибки, если он есть в официальной документации, и документированное исправление; где текст ошибки не опубликован, сказано только «returns a 400 error».
Обновлено 2026-10-08
Четыре из пяти, на которые натыкаются первыми
Ручной бюджет thinking: 400
Официальное руководство по миграции: значение thinking {"type": "enabled", "budget_tokens": N} возвращает ошибку 400. Для моделей, где extended thinking убран, страница диагностики приводит такой текст ошибки (без перевода): "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior. Исправление: перейдите на {"type": "adaptive"} и задавайте глубину через output_config.effort.
Сэмплирование: только значения по умолчанию
Руководство по миграции: если в запросе есть temperature, она должна быть равна 1, а top_p — значению по умолчанию 0.99; любое другое значение возвращает ошибку 400, включая top_p, равный 1. То же самое — при любом значении top_k и при одновременной передаче temperature и top_p. Текст ошибки для этого случая не опубликован. Исправление: уберите все три параметра и управляйте поведением через промпт.
Последний ход assistant: 400
Haiku 4.5 принимает prefill при выключенном thinking, а Haiku 5.5 отклоняет его с ошибкой 400 даже при выключенном thinking. Страница ошибок указывает, что модели Claude 4.6 и новее не поддерживают prefill, с сообщением: This model does not support assistant message prefill. The conversation must end with a user message. Исправление: завершайте messages ходом user.
Старый инструмент computer use: 400
В Claude API и Google Cloud Haiku 5.5 поддерживает computer use только через набор инструментов computer_toolset_20260801, а запрос с объявленным computer_20250124 возвращает ошибку 400. Текст ошибки для этого случая не опубликован. Исправление: уберите beta-заголовок computer-use-2025-01-24 и замените запись в tools на {"type": "computer_toolset_20260801"}.
На какой вопрос отвечает страница
По состоянию на 2026-10-08, если после замены claude-haiku-4-5 на claude-haiku-5-5 появилась ошибка 400, сначала сверьте запрос с пятью breaking changes, которые перечисляет Anthropic. Заметка о выпуске от 2026-10-07 говорит прямо: «Code written for Claude Haiku 4.5 can break on Claude Haiku 5.5.» Ещё четыре изменения ошибок не дают, но меняют ответ или подсчёт: ответ может начинаться с блоков thinking; текст thinking по умолчанию не возвращается; по данным Anthropic, тот же текст даёт примерно на 30% больше токенов; блоки thinking действуют только в аккаунте, который их создал, или в связанном с ним. Страница касается только тела запроса, а не характеристик и цен.
2026-10-07: вышла Claude Haiku 5.5
Заметки о выпуске Anthropic за 2026-10-07: запущена Claude Haiku 5.5 (claude-haiku-5-5) с контекстным окном 1M токенов, максимумом вывода 128k токенов и adaptive thinking с параметром effort. В той же записи предупреждение: код, написанный для Haiku 4.5, может сломаться — ручной extended thinking (budget_tokens) возвращает ошибку 400; adaptive thinking включён по умолчанию, поэтому ответ может начинаться с блоков thinking; тот же текст считается как большее число токенов. Руководство по миграции добавляет: claude-haiku-5-5 — фиксированный ID модели без суффикса даты и без отдельного алиаса.
Три даты
Граница аккаунтов для проверки ранних ходов. По руководству по миграции, в аккаунтах, созданных до 2026-08-31 00:00 UTC, эта ошибка 400 возникает только в запросах, где задан thinking.block_binding.prefix_mismatch_behavior; более новые аккаунты проверяются по умолчанию. Руководство по Preserved thinking предупреждает: если на своём старом ключе ошибок нет, это ещё не значит, что ваш код не затронут.
День выпуска. Официальная обзорная страница пишет «Released October 7, 2026», в тот же день anthropic.com опубликовал «Introducing Claude Haiku 5.5», а запись в заметках о выпуске сразу предупреждает, что код для Haiku 4.5 может сломаться.
В официальной таблице устаревания claude-haiku-4-5-20251001 пока в статусе Active, в колонке Deprecated стоит N/A, а в колонке Tentative retirement date — Not sooner than October 15, 2026. Это нижняя граница, а не дата отключения. В строке claude-haiku-5-5 указано Not sooner than October 7, 2027.
Слои: официальный текст / чего в документации нет
Официально подтверждено (сверяется дословно)
Таблица What's new помечает пять изменений как Breaking: (1) ручной extended thinking возвращает ошибку — замените budget_tokens на adaptive thinking; (2) нестандартные параметры сэмплирования возвращают ошибку — не передавайте temperature, top_p и top_k; (3) prefill сообщением assistant возвращает ошибку — завершайте messages ходом user; (4) computer use в Claude API и Google Cloud требует набора инструментов — замените computer_20250124 на computer_toolset_20260801; (5) изменение ранних ходов делает блоки thinking недействительными — если возвращаете блоки thinking, только дописывайте диалог. Ещё четыре помечены как Changed: ответ может начинаться с блоков thinking (выбирайте блоки по type); текст thinking по умолчанию опускается (для сводки задайте display = summarized); тот же текст даёт больше токенов (пересчитайте и пересмотрите max_tokens и оценки стоимости); повторная отправка блоков thinking через другой аккаунт (отправляйте каждый диалог через аккаунт, который его создал).
Чего в документации нет
Не опубликовано, и здесь не додумывается: текст ошибок для отказов по параметрам сэмплирования и по computer_20250124 (руководство пишет только «returns a 400 error»); переходный период или план отката для пяти изменений; точная дата отключения Haiku 4.5 (таблица устаревания даёт лишь «не ранее 2026-10-15»); любые утверждения, что какой-то сторонний фреймворк уже адаптирован.
Два сравнения: между поколениями и внутри одного
Haiku 4.5 и Haiku 5.5: настройки thinking несовместимы
Таблица по моделям на странице диагностики: Haiku 4.5 поддерживает только extended thinking, по умолчанию он выключен, а adaptive отклоняется с 400 (текст ошибки, который страница приводит для моделей только с extended thinking: adaptive thinking is not supported on this model); Haiku 5.5 поддерживает только adaptive, по умолчанию он включён, а enabled отклоняется с 400. Если во время миграции работают обе модели, поле thinking нужно писать отдельно для каждой — одно тело запроса с thinking обеим не подойдёт.
Haiku 5.5 и Sonnet 5.5: отключение thinking и принудительные инструменты различаются
Haiku 5.5 принимает {"type": "disabled"} при effort high и ниже и возвращает 400 при xhigh или max; Sonnet 5.5 возвращает 400 на disabled при любом уровне effort. Haiku 5.5 принимает принудительный tool_choice (any или конкретный инструмент), но ответ начинается сразу с вызова инструмента и не содержит блока thinking; Sonnet 5.5 отклоняет принудительный вызов инструментов в каждом запросе с 400. Миграции различаются именно в этих двух точках, поэтому исправление для одной модели не стоит переносить на другую.
Шаги миграции (по официальному чек-листу)
(1) ID модели: в Claude API замените claude-haiku-4-5-20251001 или claude-haiku-4-5 на claude-haiku-5-5. (2) Thinking: замените {"type": "enabled", "budget_tokens": N} на {"type": "adaptive"} и задавайте объём размышлений через output_config.effort (в официальном примере medium — это и effort по умолчанию у Haiku 5.5); если Haiku 4.5 работал без thinking или с маленьким бюджетом, выберите уровень пониже. Выбирайте блоки ответа по полю type; при маленьком max_tokens ответ может остановиться со stop_reason max_tokens после блока thinking и до текста, поэтому лимит стоит поднять. (3) Уберите temperature, top_p и top_k. (4) Завершайте messages ходом user и заменяйте prefill по назначению: формат вывода — structured outputs или, для классификации, инструменты с полями enum; вступления — попросите в system-промпте отвечать сразу; продолжения — перенесите в сообщение user; напоминания о контексте — поместите в ход user. (5) Computer use: уберите beta-заголовок computer-use-2025-01-24, замените запись в tools на {"type": "computer_toolset_20260801"}, распределяйте обработку по name и toolset_name каждого блока tool_use и возвращайте toolset_name в результатах; если среда не реализует zoom, добавьте "configs": {"zoom": {"enabled": false}}; beta-заголовок fine-grained-tool-streaming-2025-05-14, если вы его отправляете, удалите. (6) При возврате блоков thinking не меняйте system, tools и ранние messages — только дописывайте; инструкции добавляйте системным сообщением посреди диалога. (7) Пересчитайте токены с model = claude-haiku-5-5. В Claude Code официальная команда /claude-api migrate выполняет замену ID, правки несовместимых параметров, замену prefill и калибровку effort, а затем выдаёт чек-лист для ручной проверки.
Со стороны QCode: появление Haiku 5.5 — по странице /models
По состоянию на 2026-10-08 о том, появится ли claude-haiku-5-5 в QCode и когда, смотрите на странице /models; прогнозов здесь нет. Нынешняя claude-haiku-4-5-20251001 в QCode по-прежнему вызывается, так что тела запросов для Haiku 4.5 заранее менять не нужно. Claude работает по протоколу Anthropic Messages: по docs.qcode.cc в Claude Code задаётся ANTHROPIC_BASE_URL=https://api.qcode.cc/api, и SDK собирает путь /api/v1/messages; один ключ не привязан к протоколу, протокол определяется путём запроса. Оплата — за токены, цены каждой модели — на /models. Все пять изменений на этой странице касаются тела запроса и не зависят от base URL.
Частые вопросы
Haiku 5.5 возвращает 400 из-за temperature — как исправить?
Уберите temperature, top_p и top_k из запроса. Руководство по миграции: если temperature передана, она должна быть равна 1, если передан top_p — значению по умолчанию 0.99; любое другое значение возвращает ошибку 400, включая top_p, равный 1; любое значение top_k и запрос с temperature и top_p одновременно тоже дают 400. Документация Thinking добавляет, что это действует в каждом запросе, независимо от того, используется ли thinking. Текст ошибки для этого случая не опубликован, и здесь он не выдумывается.
budget_tokens ещё работает? А если нужно полностью выключить thinking?
Нет. thinking со значением enabled и budget_tokens возвращает ошибку 400; перейдите на {"type": "adaptive"} и регулируйте глубину через output_config.effort. Чтобы выключить thinking, Haiku 5.5 принимает {"type": "disabled"} при effort high и ниже; при xhigh или max это даёт 400 с текстом: output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking. Anthropic называет параметр effort лучшим способом балансировать качество, скорость и стоимость, чем отключение thinking.
Первый блок ответа теперь thinking — это баг?
Нет. В Haiku 5.5 adaptive thinking включён по умолчанию, поэтому ответ может начинаться с одного или нескольких блоков thinking, даже если запрос о thinking не упоминает; выбирайте блоки по полю type, а не по позиции. По умолчанию каждый блок thinking приходит с пустым полем thinking и только с signature; чтобы получить сводку, задайте {"type": "adaptive", "display": "summarized"}. Токены thinking входят в max_tokens, поэтому при маленьком лимите ответ может остановиться после блока thinking и до текста.
Что значит «The block is bound to a different conversation» в ошибке?
Это значит, что перед возвращённым блоком thinking изменились system-промпт, tools или ранние messages. Haiku 4.5 такую проверку не выполняет. В аккаунтах, созданных до 2026-08-31 00:00 UTC, ошибка появляется только в запросах, где задан thinking.block_binding.prefix_mismatch_behavior; в более новых — по умолчанию. Повторная отправка того же тела ошибку не снимает. Исправление: только дописывайте диалог и добавляйте инструкции системным сообщением посреди диалога, а не правкой system или tools; чтобы пропустить текущий запрос, отправьте beta-заголовок thinking-binding-controls-2026-08-01 и задайте prefix_mismatch_behavior = drop_block.
Можно ли во время миграции гонять Haiku 4.5 и Haiku 5.5 одним кодом?
Не с телом запроса, где есть thinking. В официальной таблице по моделям Haiku 4.5 поддерживает только extended thinking и отклоняет adaptive, а Haiku 5.5 поддерживает только adaptive и отклоняет enabled. Различаются и значения по умолчанию: у Haiku 4.5 thinking выключен, у Haiku 5.5 включён. Разводите поле thinking по моделям.
Когда Haiku 4.5 выведут из эксплуатации — нужно мигрировать сразу?
Дата отключения не опубликована. По состоянию на 2026-10-08 в таблице устаревания claude-haiku-4-5-20251001 значится как Active, в колонке Deprecated — N/A, в колонке Tentative retirement date — Not sooner than October 15, 2026; это нижняя граница, а не дата отключения. В строке claude-haiku-5-5 — Not sooner than October 7, 2027. Когда переходить, решайте по тестам на своей нагрузке.
Источники
Официальная документация Anthropic: What's new, руководство по миграции и обзор модели Claude Haiku 5.5; запись в заметках о выпуске API от 2026-10-07; Troubleshooting thinking, Preserved thinking, Thinking и страница ошибок API; страница инструмента computer use; таблица устаревания моделей; страница новостей anthropic.com. Со стороны QCode использована только страница docs.qcode.cc об эндпоинтах и путях API. Всё получено 2026-10-08, тексты ошибок приведены дословно.
Сначала исправьте тело запроса, потом меняйте модель
Один ключ QCode вызывает claude-haiku-4-5-20251001, claude-sonnet-5-5 и claude-opus-5-5, оплата за токены, цены каждой модели — на /models; появится ли Haiku 5.5, тоже видно на /models.
Читайте также
Изменения и ошибки Claude Sonnet 5.5
Сторона Sonnet того же поколения 5.5: between_tools, принудительный вызов инструментов и computer_20251124, каждое — с текстом ошибки.
Трекер статуса Haiku 5.5
Официальная хронология и известные факты о Haiku 5.5; эта страница — только об ошибках и исправлениях при миграции.
Настройка своего эндпоинта в Claude Code
Как задать две переменные, ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN, чтобы направить Claude Code на свой API-эндпоинт.
Сверено 2026-10-08; приоритет у официальных страниц Anthropic, изменения на стороне вендора возможны без предупреждения. Тексты ошибок приведены дословно и без перевода; где документация не публикует текст ошибки, сказано только «returns a 400 error». Проценты вроде прироста токенов — собственные данные Anthropic. Доступность моделей — по странице /models. QCode не аффилирована с Anthropic.