Cline: «hit repeated tool call failures» — причины и решение

Сообщение значит, что агент несколько раз подряд не смог выполнить вызов инструмента. Разбираем причины и порядок проверки, от base URL до размера контекста.

6 мин · · ошибки · агенты

Вы поставили задачу, Cline поработал пару шагов и остановился с текстом «Cline hit repeated tool call failures. Try guiding it with a new prompt.» Это не ошибка шлюза и не код ответа API: агент сам прекратил работу, потому что несколько вызовов подряд закончились неудачей. Ниже разберём, что за этим обычно стоит и в каком порядке проверять.

Оговорка о источниках. В документации Cline (docs.cline.bot) этого сообщения нет: раздел устранения неполадок посвящён сети и прокси. Описание механизма ниже основано на исходном коде репозитория cline/cline и на практических проверках, поэтому детали могут отличаться в вашей версии.

Что означает сообщение

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

Из этого следует главное: причин может быть три разные группы, и нужно понять, какая ваша.

Порядок проверки

1. Исключите проблемы подключения

Первая группа это обычные ошибки API, которые Cline засчитывает как неудачные шаги. Проверьте ключ и адрес прямым запросом, минуя Cline:

bash
curl https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer fetch_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"ping"}]}'

Если приходит ошибка, она и есть причина. Для Zukko типичны: 401 (неверный ключ), 402 (не хватает баланса), 404 model_not_found (опечатка в идентификаторе модели), 429 (достигнут дневной или месячный лимит ключа, либо ограничение у провайдера модели), 503 (провайдер недоступен или модель выключена, model_disabled). Список актуальных идентификаторов даёт GET /v1/models.

Отдельно про адрес. В режиме OpenAI Compatible Base URL должен быть https://api.zukko.pro/v1, и в последних версиях Cline он используется ровно в введённом виде, без молчаливого добавления /v1. Адрес без суффикса даёт 404 на каждый запрос, и цикл останавливается через несколько шагов. Подробнее о суффиксе: Base URL с /v1 или без.

2. Проверьте размер контекста

Вторая группа связана с тем, что контекст задачи вырос. Каждый шаг агента добавляет в историю прочитанные файлы и вывод команд. Когда история приближается к пределу окна модели, запросы начинают падать с ошибкой переполнения, а если в настройках модели указано неверное окно, Cline может не вовремя сжать историю.

Что сделать:

  • в настройках OpenAI Compatible проверьте поле размера контекстного окна: по таблице Zukko у моделей Claude и GPT оно 1M токенов, у GLM 128K, у Grok 256K;
  • выполните /smol, чтобы сжать историю текущей задачи, либо /newtask, чтобы начать чистую задачу с краткой выжимкой (оба слэш-команды описаны в документации Cline);
  • не прикладывайте к сообщению целые каталоги: указывайте конкретные файлы.

Об ошибке переполнения подробнее в статье context_length_exceeded.

3. Смените модель или проверьте её совместимость

Третья группа самая частая в разговорах: модель плохо оформляет вызовы инструментов. Cline ожидает от модели строго определённой структуры вызова. Если модель отвечает обычным текстом вместо вызова, путает аргументы или обрывает вызов на середине, шаг считается неудачным. Обрыв может возникнуть и от слишком малого лимита выходных токенов (в OpenAI Compatible есть поле Max Output Tokens).

Что сделать: переключитесь на другую модель из таблицы и повторите ту же задачу. Утверждать, какая модель «лучше работает с инструментами», мы не будем, проверьте на своих задачах. Для сравнения ориентиры по цене (на 18 октября 2026, вход / выход за 1M токенов) и индексу силы Artificial Analysis:

МодельВход / выход, $КонтекстИндекс силы
claude-sonnet-5-50.4 / 21M48
gpt-6.1-sol0.27 / 1.321M52
claude-opus-5-50.8 / 41M58
glm-5.3-flash0.04 / 0.04128K42

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

4. Проверьте правила

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

5. Переформулируйте задачу

Само сообщение советует дать новое указание, и это работает. Вместо «исправь всё» дайте один шаг с названием файла и ожидаемым результатом. Если агент зациклился на одной команде, напишите прямо, что именно не получается и какой путь выбрать.

Сколько стоит неудачный цикл

Пока агент крутится, он оплачивается как обычно: каждая попытка отправляет весь накопленный контекст. Допустим, контекст 150 000 токенов и десять неудачных попыток подряд: 150 000 × 10 = 1 500 000 входных токенов, без учёта кэша. По ценам входа за 1M:

  • deepseek-v4.1-flash ($0.013): 1,5 × 0,013 = $0.0195;
  • gpt-6.1-sol ($0.27): 1,5 × 0,27 = $0.405;
  • claude-sonnet-5-5 ($0.4): 1,5 × 0,4 = $0.60;
  • claude-opus-5-5 ($0.8): 1,5 × 0,8 = $1.20.

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

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

Это ошибка шлюза Zukko?

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

Потеряется ли прогресс задачи?

Cline сохраняет состояние задачи, и в исходниках остановка сопровождается советом отправить новый запрос для продолжения. Перед рискованными правками полезно держать git-коммит.

Поможет ли просто повторить запрос?

Иногда да, если сбой был временным (429 или 503 от провайдера). Если причина в контексте, правилах или модели, повтор приведёт к тому же результату, а токены потратятся.

Как узнать, что именно упало?

Сделайте прямой запрос через curl, как показано выше: код и текст ответа покажут, виноват ли API. Если curl отвечает нормально, ищите причину в модели, контексте или правилах по пунктам 2–4. Историю расходов можно сверить в разделе «Использование» кабинета.

Если нужен ключ для проверки на другой модели, создайте его в кабинете Zukko и подключите в Cline по инструкции.

zukko

Платите в 25×
меньше

за Claude Code & ChatGPT

Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.