21 июля 2026 года в выпуск Qwen Code v0.20.1 вошло исправление поддержки боковых запросов Qwen 3.8-Max через DashScope. Поэтому при ошибке enable_thinking у Qwen 3.8-Max первым действием следует обновить Qwen Code до версии v0.20.1 или новее, а не добавлять enable_thinking=false вручную. Официальная запись выпуска отдельно указывает исправление qwen3.8 side queries on DashScope и связывает его с PR №7303 (официальные notes выпуска).
Эта статья предназначена для разработчиков, которые используют Qwen 3.8-Max Preview как основную или быструю модель в Qwen Code и получают HTTP 400 при боковых запросах, веб-получении, сжатии контекста или классификации разрешений. Она также пригодится командам AI Agent и платформенным инженерам, которым нужно подтвердить результат в изолированной среде macOS, не смешивая ошибку клиента с проблемами API, сети или доступа к модели.
Последнее обновление: 30 июля 2026 года. Данные проверены по официальной записи выпуска Qwen Code v0.20.1, PR №7303, связанному Issue №7332 и документации конфигурации клиента.
Ошибка enable_thinking у Qwen 3.8-Max: точка сбоя
Наиболее показательный сценарий выглядит так: основной диалог продолжает отвечать, но после команды веб-получения, бокового вопроса или автоматического сжатия контекста появляется ответ вида:
HTTP 400
invalid_parameter_error
The value of the enable_thinking parameter is restricted to True.
Именно такой класс ошибки описан в официальном Issue №7332. В нём указано, что qwen3.8-max-preview принимает только включённый режим рассуждений в затронутом запросе, тогда как старая ветка Qwen Code отправляла enable_thinking=false во внутренних операциях (описание ошибки и воспроизведение).
Сразу сохраните четыре значения:
- полный текст ответа сервера, включая
code,paramиmessage; - результат команды
qwen --versionили сведения из/status; - фактический идентификатор модели, а не только отображаемый псевдоним;
- тип операции: основной диалог, боковой вопрос, веб-получение, сжатие контекста, классификация разрешений или субагент.
Это важно по трём причинам. Во-первых, HTTP 400 указывает на отклонённый запрос, а не обязательно на исчерпанную квоту. Во-вторых, основной диалог и служебная операция могут формироваться разными участками клиента. В-третьих, название модели в интерфейсе может отличаться от идентификатора, который реально уходит в совместимый API-маршрут.
Карта симптомов и вероятных причин
| Симптом | Что уже можно предположить | Первое проверочное действие |
|---|---|---|
| Основной диалог работает, а боковой запрос возвращает 400 | Ошибка может находиться в отдельной ветви служебного запроса | Проверить версию Qwen Code и модель боковых запросов |
| Сбой появляется при сжатии контекста | Клиент мог попытаться отключить рассуждения для внутренней операции | Сохранить журнал и проверить, не используется ли версия ниже v0.20.1 |
| Веб-получение и субагент не работают после изменения конфигурации | Возможно, остался старый процесс или несовместимый псевдоним модели | Полностью закрыть Qwen Code и проверить фактический маршрут |
| Основной запрос и инструменты используют разные модели | Исправление могло примениться только к одной роли | Отдельно указать основную и быструю модель |
| После обновления 400 сохраняется только в одном проекте | Вероятно, конфликт находится в проектном файле настроек | Запустить чистую сессию без проектного .qwen/settings.json |
Не следует делать вывод, что Qwen 3.8-Max Preview полностью недоступна, что сломалась сеть или что открытые веса уже выпущены. Официально подтверждён именно клиентский конфликт для боковых запросов через DashScope; он не доказывает дату выпуска весов, лицензию или пригодность модели к локальному развёртыванию.
Обновление клиента до исправленной версии
Рекомендуемый порядок состоит из пяти действий.
- Зафиксируйте исходное состояние.
Выполните:
bash
qwen --version
В интерактивной сессии дополнительно используйте /status. Запишите модель, способ установки и путь к проекту. Команда --version и команда /status предназначены для отображения версии клиента согласно официальной документации (команды Qwen Code).
- Определите канал установки.
Для установки через npm используйте тот же канал, а не случайный бинарный файл:
bash
npm install -g @qwen-code/qwen-code@latest
Для macOS также поддерживается установка через Homebrew. Официальный репозиторий перечисляет отдельные варианты для самостоятельного установщика, npm и Homebrew (инструкция установки). Если клиент был установлен standalone-скриптом, обновляйте его штатным способом; смешивание npm и standalone может оставить несколько исполняемых файлов в PATH.
- Проверьте, что запускается новая копия.
Снова выполните:
bash
qwen --version
which qwen
Нужна версия v0.20.1 или новее. Если which qwen указывает на неожиданный каталог, сначала исправьте порядок путей, иначе обновление может быть установлено успешно, но не использоваться текущим терминалом.
-
Полностью перезапустите процесс.
Закройте текущую сессию Qwen Code, терминал и процессы, запущенные через IDE или фоновый агент. Затем откройте новый терминал. Перезапуск необходим, потому что старый процесс может удерживать загруженный модуль, модельный псевдоним или ранее разобранные настройки. -
Заново загрузите модельную конфигурацию.
Не копируйте старый файл настроек поверх нового без проверки. У Qwen Code есть пользовательские, проектные и системные файлы конфигурации; на macOS системные настройки могут находиться в/Library/Application Support/QwenCode/settings.json, а пользовательские — в~/.qwen/settings.json(иерархия настроек).
Главный критерий — не сам факт установки v0.20.1, а то, что именно запущенный процесс использует эту версию и отправляет запрос к нужной модели по нужному маршруту.
Проверка конфигурационных ветвей
После обновления не стоит сразу менять все параметры. Сначала разделите возможные источники ошибки.
| Ветка проверки | Наблюдаемый признак | Действие |
|---|---|---|
| Основная модель | Обычный диалог проходит, но служебная операция падает | Оставить основной идентификатор без изменений и проверить быструю модель |
| Быстрая модель | Сбой появляется только при подсказках или боковом вопросе | Временно назначить известную совместимую модель для быстрых запросов |
| Псевдоним | В конфигурации указано короткое имя, а журнал показывает другое | На время использовать точный идентификатор модели |
| API-маршрут | Ответ содержит другой формат ошибки или неизвестный параметр | Проверить endpoint, регион и режим совместимого API |
| Старый процесс | После изменения файла поведение не меняется | Закрыть фоновые процессы, открыть новую сессию и повторить тест |
| Проектные настройки | Ошибка возникает только в одном каталоге | Временно переименовать .qwen/settings.json и запустить чистую проверку |
Отдельного внимания требует модель боковых запросов. В Qwen Code боковой вопрос не становится частью основного диалога и отправляется отдельным вызовом. Официальная документация описывает для него отдельную команду /btw; это объясняет, почему основной запрос может работать, пока служебная ветвь возвращает 400 (описание боковых вопросов).
Если в настройках вручную добавлен enable_thinking=false, его следует убрать. Это не универсальный переключатель совместимости, а параметр, который может быть несовместим с конкретным Preview-маршрутом. Важно также не подменять его на противоположные экспериментальные значения без понимания, какая ветка клиента их формирует.
Раздельная приёмка инструментов
Обычный текстовый ответ после обновления не означает, что восстановилась вся цепочка AI Agent. Приёмку следует проводить по минимальным операциям, иначе ошибка в одном внутреннем маршруте останется незамеченной.
1. Основной диалог
Отправьте короткий запрос без инструмента и без длинного контекста. Зафиксируйте HTTP-код и идентификатор модели. Этот тест отвечает только на вопрос, доступен ли базовый вызов.
2. Боковой запрос
Выполните /btw с коротким вопросом, не связанным с изменением файлов. Если именно эта операция раньше возвращала ошибку enable_thinking, она должна быть первым контрольным тестом после обновления.
3. Веб-получение
Запросите одну небольшую страницу или источник, не добавляя к тесту длинную цепочку инструкций. Укажите, завершилась ли операция получением результата, отказом инструмента или HTTP 400. Веб-получение может включать последующую обработку ответа, поэтому успешный HTTP-вызов ещё не всегда означает успешное завершение всей функции.
4. Структурированный ответ
Если проект использует JSON-вывод или схему ответа, отправьте минимальный запрос с двумя-тремя полями. Здесь нужно отличать ошибку модели от ошибки преобразования ответа в структуру.
5. Субагент
Запустите самый простой субагент без доступа к чувствительным каталогам. Зафиксируйте, какая модель указана для дочерней операции. Если основной диалог работает, а субагент падает, это сильный признак того, что роли используют разные настройки или маршруты.
Для каждого теста удобно вести журнал:
дата:
версия Qwen Code:
основная модель:
быстрая модель:
маршрут:
операция:
HTTP-код:
текст ошибки:
результат после обновления:
Такой журнал полезнее, чем многократное редактирование API-параметров без фиксации результата.
Изолированная проверка на macOS
Если проект содержит много расширений, MCP-серверов, пользовательских хуков или переменных окружения, текущая среда может скрывать результат обновления. В этом случае создайте временный каталог и проведите проверку без проектных настроек:
mkdir -p ~/qwen-isolation-test
cd ~/qwen-isolation-test
mv .qwen/settings.json .qwen/settings.json.backup 2>/dev/null || true
qwen --version
qwen
Команда с mv применима только внутри тестового проекта и не должна использоваться без проверки пути. Если .qwen/settings.json содержит рабочие ключи или параметры MCP, сначала сохраните резервную копию.
В изолированной сессии проверьте:
- запускается ли версия v0.20.1 или новее;
- совпадает ли модель с той, что указана в рабочем проекте;
- используется ли тот же API-маршрут;
- проходит ли боковой запрос;
- работает ли веб-получение;
- запускается ли простой субагент;
- исчезает ли 400 после полного перезапуска.
Если чистая сессия работает, а проектная — нет, откатить обновление обычно не требуется: проблема, вероятнее всего, находится в локальной конфигурации, псевдониме модели или расширении. Если ошибка воспроизводится и в чистой сессии, сохраните журнал, версию, модель и маршрут, после чего сравните их с официальным Issue и PR.
Откат имеет смысл только как временная мера, когда рабочий проект критичен и новая версия вызывает отдельную регрессию. При этом необходимо сохранить запись о том, какая версия была установлена, какие тесты не прошли и какие операции восстановились после возврата. Иначе команда потеряет связь между изменением клиента и поведением инструментов.
Важное ограничение: исправление в v0.20.1 подтверждает устранение конкретного конфликта боковых запросов Qwen 3.8-Max через DashScope. Оно не является подтверждением открытых весов, локального запуска, заданной лицензии или производительности модели.
Частые ошибки при диагностике
Самая распространённая ошибка — сравнивать только основной диалог до и после обновления. Такой тест не затрагивает боковые запросы, классификатор разрешений и сжатие контекста, где и проявлялся конфликт.
Вторая ошибка — считать любой HTTP 400 следствием enable_thinking. Если сервер сообщает об отсутствующем поле, неверной схеме, неподдерживаемом маршруте или проблеме авторизации, это уже другая ветка диагностики. Сначала нужно прочитать message, code и название параметра.
Третья ошибка — считать объединённый PR равным установленному исправлению. В репозитории исправление могло появиться раньше, чем оно попало в опубликованный выпуск, а установленный клиент может продолжать запускать старую копию из другого каталога.
Четвёртая ошибка — менять одновременно основную модель, быструю модель, endpoint и параметры рассуждений. После этого невозможно определить, какое изменение устранило проблему. Для воспроизводимой диагностики меняется только один фактор за раз.
Когда нужна отдельная среда
Изолированная macOS-среда оправдана, если:
- на рабочем компьютере установлено несколько версий Qwen Code;
- проект содержит несколько файлов настроек;
- используются MCP-серверы или субагенты с собственными моделями;
- ошибка исчезает после перезапуска, но возвращается в старой рабочей сессии;
- команда не может безопасно менять основное окружение;
- нужно записать короткий отчёт до и после обновления для нескольких разработчиков.
Для разовой проверки не обязательно перестраивать весь рабочий стек. Достаточно чистого каталога, отдельной сессии, минимального набора переменных окружения и пяти тестов из раздела выше. Если требуется временная удалённая машина, условия доступа и доступные варианты можно сверить на странице помощи ZilCloud, а текущие варианты аренды — на странице тарифов ZilCloud.
Итог для выбора среды
Если ошибка возникла в старой версии Qwen Code, локальная рабочая станция не является причиной сама по себе: сначала нужен переход на v0.20.1 или новее и повторная приёмка каждой инструментальной ветви. Если после этого сбой остаётся, чистая среда помогает отделить загрязнённую конфигурацию от несовместимости маршрута или модели.
На практике собственный Mac удобнее для постоянной разработки, но он связывает проверку с конкретными версиями Node.js, фоновыми процессами, проектными файлами и локальными расширениями. Обычный удалённый сервер может добавить проблемы с графическими инструментами macOS, доступом к нужным интеграциям и различиями в окружении. Для короткого воспроизведения и сравнения «до/после» аренда Mac через ZilCloud даёт более контролируемый временный контур: можно начать с чистой системы, выполнить одинаковые тесты и не трогать рабочий проект. Это не заменяет постоянную инфраструктуру для длительной тяжёлой нагрузки, но для диагностики совместимости и проверки Qwen Code такой формат обычно проще, чем долго разбирать накопившиеся локальные настройки.
Часто задаваемые вопросы
Почему Qwen 3.8-Max нельзя перевести в режим без рассуждений?
У Qwen 3.8-Max Preview параметр enable_thinking ограничен включённым режимом для соответствующих запросов. Ошибка возникает не потому, что весь API недоступен, а потому, что старая логика Qwen Code отправляет enable_thinking=false во внутреннем вызове. Поэтому принудительное отключение рассуждений в настройках не исправляет проблему, а повторяет несовместимую комбинацию параметров.
Что делать, если Qwen Code возвращает 400 для enable_thinking=false?
Сначала сохраните полный текст ответа, модель, версию клиента и тип операции. Затем обновите Qwen Code минимум до v0.20.1, перезапустите процесс и заново загрузите конфигурацию модели. Не подменяйте ошибку изменением случайных API-параметров: если после обновления сбой сохраняется, отдельно проверьте основную модель, модель боковых запросов и совместимый маршрут DashScope.
Как проверить, что боковые запросы восстановились после обновления?
Проверка должна включать не только обычное сообщение. Выполните короткий боковой запрос, затем веб-получение, структурированный вызов и действие субагента, если они используются в проекте. Для каждого теста запишите модель, маршрут, HTTP-код и результат. Исправление считается подтверждённым только тогда, когда успешны именно операции, которые раньше возвращали 400.
Почему веб-получение и субагенты Qwen Code могут перестать работать одновременно?
Эти функции могут обращаться к модели через отдельные внутренние ветви формирования запроса. В старой версии одна и та же несовместимая настройка отключения рассуждений могла затронуть боковой запрос, классификатор разрешений, сжатие контекста или запуск субагента. Поэтому совпадение симптомов ещё не доказывает проблему сети или квоты: сначала нужно сопоставить тип операции с фактическим запросом.
Стабильная среда для разработки и тестирования
В ZilCloud можно арендовать удалённый Mac для настройки, обновления и проверки инструментов разработчика.
Работайте в изолированной среде macOS с удалённым доступом без покупки отдельного устройства.