Как я обошёл блокировку Anthropic для сторонних агентов и вернул всё на подписку — пошаговый гайд

Сегодня Anthropic заблокировала использование своих подписок в сторонних инструментах, таких как OpenClaw. Теперь такие запросы не покрываются подпиской, а идут в Extra Usage — платно, по тарифам API. Это в разы дороже. Я разобрался в проблеме и успешно обошёл блокировку. Всё снова работает как раньше.

Рассказываю, как это удалось. Сам я не пишу код, а помогал мне в этом Opus 4.6. Процесс оказался интереснее результата.

Суть блокировки

Anthropic на уровне сервера определяет источник запроса. Если он приходит из официальных приложений — Claude Code, Cowork или веб-чата — используется подписка. Если из сторонних инструментов вроде OpenClaw — запрос попадает в Extra Usage, и вы платите за каждый токен.

Я проверил: мой OpenClaw с моделью Opus за один вечер мог «сжечь» десятки долларов. Хотя по сути я не делал ничего сложного.

API-запрос — это обычный HTTP-запрос с телом, заголовками и токеном. Я предположил: если сделать запрос так, будто он идёт из Claude Code, Anthropic не сможет отличить его.

CLIProxyAPI

Нашёл проект CLIProxyAPI — Go-прокси с 23 тысячами звёзд на GitHub. Он берёт OAuth-токен от Claude Code и пересылает запросы в Anthropic API, подставляя настоящие заголовки: user-agent, billing header, client_id. Для сервера Anthropic такой запрос выглядит идентично тому, что идёт из официального клиента.

Установил, авторизовался (прокси даёт ссылку, логинишься в браузере, токен сохраняется), запустил на localhost, перенаправил OpenClaw на него. Extra Usage отключил. Но не сработало: ошибка «You're out of extra usage» осталась.

Поиск причины

Проверил: простой запрос через curl в прокси — работает. Значит, прокси жив, а проблема в содержимом запроса от OpenClaw.

Первая гипотеза: Anthropic ищет слово «OpenClaw» в теле запроса. В системном промпте оно встречается 110 раз, включая фразу «You are a personal assistant running inside OpenClaw». Логично.

Написал с помощью Opus промежуточный прокси, который заменяет «OpenClaw» на «Assistant» в теле запроса. Но ошибка осталась.

Сужение проблемы

Значит, детекция не по слову. Запрос от OpenClaw — это JSON с системным промптом, историей сообщений, метаданными и 17 инструментами (tools).

Попросил Opus помочь провести серию тестов. Убрал историю — работает. Добавил tools — не работает. Убрал tools, вернул историю — работает. Проблема точно в tools.

Разбил tools на группы и тестировал по одной:

  • read, edit, write — работает
  • exec, process — работает
  • sessions_list, sessions_history, sessions_send — работает
  • web_search, web_fetch — работает
  • image, memory_search, memory_get — работает
  • subagents — блокирует
  • session_status — блокирует

Каждая группа в отдельности проходит. Но стоит добавить subagents или session_status — запрос уходит в Extra Usage.

Вывод: Anthropic ищет имена инструментов, которых нет в Claude Code. Даже два таких tool-а — и система понимает, что запрос не из официального клиента.

Решение

Создал дополнительный прокси поверх CLIProxyAPI. Он делает замену имён инструментов в обе стороны:

  • В запросе: subagents → sub_dispatch, session_status → check_status (и «OpenClaw» → «Assistant» на всякий случай)
  • В ответе: обратная замена, чтобы OpenClaw корректно обработал вызов

Для streaming-ответов прокси буферизует каждое событие и заменяет нужные строки построчно.

Код — 133 строки на Node.js, без зависимостей. Запущен как systemd-сервис с автозапуском и перезапуском при падении.

Итоговая цепочка: OpenClaw → replace-proxy (8318) → CLIProxyAPI (8317) → api.anthropic.com

Что нужно для настройки

1. CLIProxyAPI

Прокси, имитирующий Claude Code. Требуется авторизация через браузер. После запуска слушает на указанном порту.

2. Replace-proxy

Минимальный HTTP-прокси на Node.js, который:

  • Перехватывает тело запроса и заменяет имена инструментов и упоминания OpenClaw
  • В ответах делает обратную замену, обрабатывает построчно

Код простой — Opus сгенерировал его за минуту.

3. Настройка OpenClaw

В файле openclaw.json добавьте кастомный провайдер, укажите ваш replace-proxy как endpoint. Сделайте его провайдером по умолчанию и перезапустите OpenClaw.

Переключение моделей работает как раньше — через чат. Главное: пропишите все нужные модели в конфиге провайдера.

Важно помнить

Это технический обход ограничений Anthropic. Есть риск блокировки аккаунта. Но многие готовы его принять — альтернатива ведь ещё дороже: платить за каждый токен сверх подписки, которая и так стоит $200 в месяц.

CLIProxyAPI хранит refresh_token и обновляет access_token автоматически. Если refresh_token протухнет — нужно будет заново пройти авторизацию через браузер.

Anthropic может усилить детекцию. Сегодня блокируют по двум tool-ам. Завтра могут начать по структуре промпта, паттернам запросов или другим признакам. Но сейчас схема работает.

Не рекомендую использовать это в коммерческих целях.

Выводы

Весь процесс занял один вечер. Самое интересное — не результат, а путь. Я не разработчик, не пишу код, но, формулируя гипотезы и проводя эксперименты с ИИ, сегодня можно решать задачи, которые раньше требовали серьёзных технических навыков.

Читать оригинал