# OpenClaw invalid beta flag: как найти и исправить причину ошибки

> Ошибка invalid beta flag требует проверки конкретной beta-функции и способа подключения Claude. Найдите, где добавляется заголовок, внесите точечное исправление и подтвердите его полным ответом той же модели.

- URL: https://blog.laozhang.ai/ru/posts/openclaw-invalid-beta-flag
- Published: 2026-02-04
- Updated: 2026-10-05
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ru/about)
- Topic: Устранение ошибок
- Tags: OpenClaw, Claude API, AWS Bedrock, Vertex AI, Ошибки API

---
При ошибке **`invalid beta flag` в OpenClaw** сначала найдите отклонённую beta-функцию и провайдера, которому ушёл запрос. Если ненужный заголовок `anthropic-beta` явно задан для несовместимого прокси, исправьте этот заголовок. Если его добавляет OpenClaw для включённой функции или сам прокси перед отправкой поставщику, изменение нужно делать там. Отключение `context1m` и добавление `"beta_features": []` не являются универсальными решениями.

Начните с одного неудачного запроса: зафиксируйте модель, способ подключения, точный текст ошибки и имя beta, если оно указано. Затем меняйте только выявленную причину. Исправление подтверждается полным ответом исходной модели после загрузки новых настроек; успешный запуск Gateway и проверка JSON этого не доказывают.

Ниже описаны действия по официальной документации, проверенной 4 октября 2026 года. Это инструкция для диагностики, а не отчёт о воспроизведении ошибки на вашем аккаунте.

## Что означает `invalid beta flag` и когда это ошибка 400

В прямом API Anthropic заголовок `anthropic-beta` включает конкретную экспериментальную функцию. Неверное имя beta или отсутствие доступа у организации может привести к HTTP 400 с типом `invalid_request_error`. Такую причину описывает [документация beta-заголовков Anthropic](https://platform.claude.com/docs/en/api/beta-headers). Похожий текст от прокси или облачного сервиса нужно читать вместе с его собственным ответом: один статус 400 не устанавливает причину.

Сокращённый пример формы ошибки:

```json
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "invalid beta flag"
  }
}
```

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

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

Отделите похожие симптомы:

| Результат запроса | Следующее действие |
|---|---|
| 400, `invalid_request_error`, сообщение о beta | Найти точное имя beta и место его добавления |
| 400 с указанием неподдерживаемого поля или модели | Проверить это поле, модель и формат запроса; не удалять beta без основания |
| 401, `invalid bearer token` или `missing authentication header` | Проверить авторизацию выбранного способа подключения |
| 429 при длинном контексте | Проверить условия доступа и лимиты длинного контекста; это отдельная ветка |
| Gateway доступен, но ответа модели нет | Найти первый отказ в журнале; состояние Gateway не определяет результат вызова модели |

Если отказ относится к авторизации, переходите к [диагностике OpenClaw 401](https://blog.laozhang.ai/ru/posts/openclaw-401-authentication-error). Замена токена Gateway не исправляет отклонённую beta-функцию.

## Найдите запрос, модель и активную конфигурацию

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

Сначала выполните команды просмотра состояния:

```bash
openclaw --version
openclaw gateway status
openclaw config file
openclaw config validate
openclaw models status --agent main --json
```

Здесь `main` — пример ID агента; замените его на проблемного агента. `config file` показывает используемый путь настроек. `config validate` проверяет конфигурацию, не запуская Gateway и не вызывая модель. Даже допустимый по схеме параметр может оказаться неподдерживаемым у поставщика. Область этих команд описана в [документации config CLI](https://docs.openclaw.ai/cli/config).

В исходном чате отправьте:

```text
/model status
```

Сопоставьте выбор сессии с настройками агента. Затем в отдельном терминале откройте журнал:

```bash
openclaw logs --follow
```

Повторите один короткий запрос в той же сессии и остановите просмотр журнала сочетанием Ctrl+C. Не запускайте повторно рабочее задание, которое уже могло изменить файлы или вызвать инструменты. Для диагностики достаточно короткого текстового сообщения без личных данных; облачный вызов может расходовать оплачиваемые токены.

Сохраните четыре сведения: провайдер и адрес API, точный ID модели, имя отклонённой beta и кто сформировал ответ об ошибке. Ключи, токены, личные сообщения и полный приватный журнал в отчёт не включайте. Если базовое подключение ещё не настроено, воспользуйтесь [руководством по настройке LLM в OpenClaw](https://blog.laozhang.ai/ru/posts/openclaw-llm-setup), затем вернитесь к этому конкретному отказу.

## Где добавляется заголовок: настройки, OpenClaw или прокси

![Источники anthropic-beta: явные настройки, функция OpenClaw или правило прокси](https://blog.laozhang.ai/posts/ru/openclaw-invalid-beta-flag/img/error-flow.webp)


Различайте три места добавления beta.

**Явный заголовок в настройках.** Проверьте `models.providers` и поле `headers` у фактического провайдера. Не ограничивайтесь записью с названием `anthropic`: запрос может идти через другой ID. Если `anthropic-beta` содержит несколько имён, выясните назначение каждого до изменения.

**Автоматическое добавление OpenClaw.** В текущей [документации совместимых провайдеров](https://docs.openclaw.ai/concepts/model-providers/custom-providers) описано подавление неявных beta-заголовков для непрямых подключений с `api: "anthropic-messages"`. Учитываются и канонический провайдер `anthropic`, и адрес API: собственный `baseUrl` не делает прокси прямым Anthropic. Явный `models.providers.<id>.headers["anthropic-beta"]` остаётся способом запросить поддерживаемую прокси функцию.

На прямом Anthropic API с ключом OpenClaw может добавлять beta для определённых возможностей: управления сохранёнными блоками рассуждений, обновления контекста во время разговора, серверного переключения при отказе или включённого серверного сжатия истории. Эти условия описаны в [руководстве Anthropic для OpenClaw](https://docs.openclaw.ai/providers/anthropic). Отсутствие `headers` в файле ещё не доказывает отсутствие beta в запросе.

**Добавление на стороне прокси.** Если локально флаг не задан, попросите администратора посредника сопоставить входящий и исходящий запрос одного обращения: список beta, конечный API, модель и правила подмены. Достаточно очищенных технических полей. Переименование модели или автоматическая отправка одного набора заголовков всем поставщикам может сделать локальное изменение бесполезным. Исправлять нужно конкретное правило посредника, сохраняя нужную авторизацию и остальные функции.

## Как исправить явный beta-заголовок у прокси

Удаление заголовка подходит, когда одновременно установлено, что он **добавлен явно, не нужен выбранной функции и не поддерживается конечным API**. Сначала сохраните копию активной конфигурации, путь которой показал `config file`. Копию с секретами храните локально.

Для примера ниже предполагается, что ID вашего провайдера — `my-proxy` и заголовок действительно расположен по указанному пути. Команды просмотра и удаления:

```bash
openclaw config get 'models.providers["my-proxy"].headers["anthropic-beta"]'
openclaw config unset 'models.providers["my-proxy"].headers["anthropic-beta"]'
openclaw config validate
```

Замените `my-proxy` своим ID. Кавычки вокруг пути нужны, в частности, чтобы оболочка zsh не интерпретировала квадратные скобки. Это удаление **всего значения заголовка**: не выполняйте его, если там есть другая необходимая и поддерживаемая beta. В таком случае исправьте список, оставив нужные имена по документации конкретного прокси.

По [документации config CLI](https://docs.openclaw.ai/cli/config), `get` читает снимок с замаскированными секретами. Если `unset` сообщает, что заданного пути нет, и завершается с кодом 1, ничего не изменено. Это повод искать другой источник заголовка, а не удалять другие параметры наугад. В режиме только для чтения или Nix изменять нужно исходную управляемую конфигурацию, а не обходить запрет локальной записью.

Следуйте сообщению CLI о необходимой перезагрузке настроек или перезапуске. Оно описывает ожидаемое действие, но не подтверждает, что работающий Gateway уже применил изменения. Если нужен перезапуск и допустим перерыв в обслуживании:

```bash
openclaw gateway restart
openclaw gateway status
```

После этого выполните проверку ответа, описанную ниже. Если флаг сохранился, вернитесь к источнику его добавления: прокси мог вставить его снова.

## Если beta связана с функцией прямого Anthropic API

Исправьте условия **конкретной** функции: точное имя beta, модель, API, доступ организации и версию клиента. Если функция нужна, простое удаление заголовка может нарушить формат запроса или поведение диалога. Проверьте требования в [документации beta-заголовков](https://platform.claude.com/docs/en/api/beta-headers) и соответствующем руководстве функции.

Например, OpenClaw включает серверное сжатие истории через `params.anthropicServerCompaction: true` и отправляет `compact-2026-01-12` вместе с настройками `context_management`. Если именно эта beta отклонена и серверное сжатие не требуется, можно отключить **саму функцию**, а не вырезать один заголовок из сформированного запроса. Для уже настроенной модели из примера документации:

```bash
openclaw config set 'agents.defaults.models["anthropic/claude-sonnet-4-6"].params.anthropicServerCompaction' false
openclaw config validate
```

Выполняйте эту команду только при совпадении модели и выявленной причины. Для другой модели нужен её точный путь. Если сжатие необходимо вашему сценарию, сначала выясните условия его поддержки; отключение меняет обработку истории. [Источник параметра и условий подключения](https://docs.openclaw.ai/providers/anthropic#server-side-compaction).

Особенно важно пересмотреть старый совет про `context1m`. В текущем прямом Anthropic API OpenClaw автоматически использует нативное окно 1M у перечисленных в документации моделей, включая Opus 4.6 и Sonnet 4.6. Для них `params.context1m` больше не включает beta. Устаревший `context-1m-2025-08-07` не отправляется, а старые записи `anthropicBeta` с этим значением исключаются при формировании заголовков. [Текущие условия 1M](https://docs.openclaw.ai/providers/anthropic#1m-context-window).

Поэтому `context1m: false` не является способом исправить любую ошибку 400 и не обязательно уменьшает нативное окно модели. Если этот старый флаг всё же виден в исходящем запросе, проверьте установленную версию, явный заголовок и посредника. У Claude CLI собственные ограничения контекста: доступность окна в API не доказывает такое же поведение CLI. Отказ 429 при длинном контексте разбирайте по условиям доступа и лимитам, а не как подтверждение ошибки beta.

## Bedrock и Vertex AI: сохраните выбранное облако

![Выбор точечного исправления beta и три проверки восстановления исходного подключения](https://blog.laozhang.ai/posts/ru/openclaw-invalid-beta-flag/img/decision-flowchart.webp)


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

| Подключение Claude | Что проверить при отказе beta |
|---|---|
| Прямой Anthropic API | Точное имя функции, модель, используемый API и доступ организации |
| Amazon Bedrock | Поддержку функции в API Bedrock и выбранном клиенте, модель и регион; не переносить стандартный заголовок Anthropic без проверки |
| Claude Platform on AWS | Условия этой платформы Anthropic; не считать её тем же API, что AWS Bedrock |
| Claude в Vertex AI | Адаптер Claude для Vertex, формат запроса, Google Cloud-авторизацию и доступность функции |
| Собственный совместимый прокси | Конечный API за псевдонимом модели и преобразование beta на каждом участке |

**Amazon Bedrock.** OpenClaw использует выделенного провайдера `amazon-bedrock` с авторизацией AWS. Современные подключения Claude через Messages API и более ранние подключения через Converse/InvokeModel имеют разные условия. Пример `bedrock-converse-stream` для конкретной модели не означает, что все модели Bedrock должны использовать Converse. Сверяйте модель и API с [руководством Bedrock для OpenClaw](https://docs.openclaw.ai/providers/bedrock).

Соответствующие API Bedrock не принимают стандартный заголовок `anthropic-beta`. Это не равнозначно отсутствию любых экспериментальных возможностей: важен предусмотренный Bedrock способ включения конкретной функции. Отдельно существует **Claude Platform on AWS**, которой управляет Anthropic и где поддерживается стандартный beta-заголовок с ограничениями по функциям. Различия сведены в [официальном сравнении подключений AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws). Ключ Anthropic не заменяет авторизацию AWS для Bedrock.

**Vertex AI.** Claude в Vertex использует Google Cloud-авторизацию и собственный формат вызова: модель задаётся в URL, а в теле применяется `anthropic_version: "vertex-2023-10-16"`. Не переносите без проверки запрос прямого Anthropic. Условия модели, региона и функций указаны в [руководстве Claude в Vertex AI](https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai).

При этом описанный OpenClaw провайдер `google-vertex` относится к Gemini, а не является готовой заменой для Claude. [Документация Google-провайдера OpenClaw](https://docs.openclaw.ai/providers/google). Если Claude подключён через отдельный адаптер или корпоративный прокси, сверяйте его документированное преобразование запросов. Замена Claude на Gemini меняет модель, а не подтверждает исправление исходной ошибки. Объявлять запрет всех beta в Vertex тоже нельзя: проверяйте нужную функцию на выбранном подключении.

## Как подтвердить исправление и когда остановиться

Проверка состоит из трёх отдельных результатов:

1. **Настройки допустимы.** `openclaw config validate` завершается успешно. Это проверка конфигурации, а не доступности beta у поставщика.
2. **Работающий процесс применил изменение.** Выполнено требуемое действие по перезагрузке или перезапуску; статус и журнал относятся к нужной службе. Одного сообщения CLI о необходимом перезапуске недостаточно.
3. **Исходный запрос работает.** Та же модель через тот же провайдер у того же агента полностью отвечает в исходной сессии. В журнале нет отказа beta, а ответ не получен от резервной модели.

Перед последним шагом снова проверьте `/model status`. Отправьте короткую просьбу, например «Ответь одним словом: готово», и дождитесь окончания ответа. Если в рабочем сценарии нужна исправляемая функция, затем проверьте и её на безопасном небольшом задании. Простой текстовый ответ подтверждает базовый вызов, но не доказывает работу сжатия истории, инструментов или длинного контекста.

Если после изменения остаётся **то же сообщение с той же beta**, остановите повторные вызовы и найдите оставшийся источник заголовка. Если появляется **другая ошибка**, переходите к её причине: 401 — авторизация, 429 — доступ или лимиты, другое поле в 400 — формат запроса. Исчезновение одной ошибки не означает, что весь запрос завершился успешно.

При проблеме после обновления сопоставьте версию CLI и запущенного Gateway, путь конфигурации и окружение службы. `openclaw doctor` полезен для диагностики установки, но `doctor --fix` не является обязательным лечением отказа beta у поставщика. Не обходите защиту от несовместимой версии и не переустанавливайте всё окружение без выявленной причины. Порядок диагностики службы описан в [официальном руководстве по устранению неполадок](https://docs.openclaw.ai/ru/gateway/troubleshooting).

Для передачи проблемы сопровождающим достаточно версии OpenClaw, очищенного фрагмента ответа, точного имени beta, провайдера, ID модели и описания места добавления заголовка. Укажите, какое изменение сделано и дошла ли проверка до полного ответа. Если необходимая функция не поддерживается выбранным API, дальнейшие одинаковые запросы не изменят это условие: согласуйте поддерживаемый вариант с владельцем подключения.

## Короткие ответы

### Нужно ли добавлять `beta_features: []`?

Нет, это не универсальное исправление OpenClaw. Сначала найдите конкретный заголовок или параметр, который отклонён. Текущий OpenClaw подавляет неявные Anthropic beta на непрямых совместимых подключениях, но явные заголовки и правила прокси нужно проверять отдельно. [Условия преобразования запросов](https://docs.openclaw.ai/concepts/model-providers/custom-providers).

### Можно ли удалить все beta-заголовки сразу?

Только если вы установили, что ни один из них не нужен выбранному способу авторизации и функциям. Обычно безопаснее исправить одну выявленную несовместимость. Удаление заголовка при сохранении зависимого от него поля запроса может вызвать другую ошибку.

### Исправит ли `context1m: false` ошибку?

Не обязательно. У перечисленных в текущей документации моделей прямого Anthropic API окно 1M нативное, а прежняя beta `context-1m-2025-08-07` больше не отправляется OpenClaw. Найдите фактически отклонённый флаг; настройки Claude CLI рассматривайте отдельно. [Текущая документация 1M](https://docs.openclaw.ai/providers/anthropic#1m-context-window).

### Почему после удаления заголовка ошибка сохранилась?

Возможно, его добавляет посредник, автоматическая функция клиента или процесс со старыми настройками. Это направления проверки, а не установленная причина. Сопоставьте активную конфигурацию и исходящий запрос; если `config unset` сообщил об отсутствующем пути, локального изменения не было.

### `config validate` прошёл — проблема решена?

Нет. Он проверяет настройки без запуска Gateway. Нужны загрузка изменения и полный ответ той же модели через исходное подключение. Ответ резервной модели подтверждает работу резерва, но не устранение первоначального отказа. [Область проверки config CLI](https://docs.openclaw.ai/cli/config).

## Источники

Внешние страницы, на которые ссылается это руководство, в порядке упоминания. Последнее обновление: 2026-10-05.

- [документация beta-заголовков Anthropic](https://platform.claude.com/docs/en/api/beta-headers) (platform.claude.com)
- [документации config CLI](https://docs.openclaw.ai/cli/config) (docs.openclaw.ai)
- [документации совместимых провайдеров](https://docs.openclaw.ai/concepts/model-providers/custom-providers) (docs.openclaw.ai)
- [руководстве Anthropic для OpenClaw](https://docs.openclaw.ai/providers/anthropic) (docs.openclaw.ai)
- [руководством Bedrock для OpenClaw](https://docs.openclaw.ai/providers/bedrock) (docs.openclaw.ai)
- [официальном сравнении подключений AWS](https://platform.claude.com/docs/en/build-with-claude/claude-platform-on-aws) (platform.claude.com)
- [руководстве Claude в Vertex AI](https://platform.claude.com/docs/en/build-with-claude/claude-on-vertex-ai) (platform.claude.com)
- [Документация Google-провайдера OpenClaw](https://docs.openclaw.ai/providers/google) (docs.openclaw.ai)
- [официальном руководстве по устранению неполадок](https://docs.openclaw.ai/ru/gateway/troubleshooting) (docs.openclaw.ai)
