Сообщение proactive command rejected by me появляется в CLI-инструментах с ИИ-агентами (например, в терминальных ассистентах на базе языковых моделей) в момент, когда ассистент пытается выполнить команду автономно, а система контроля разрешений блокирует её, фиксируя, что отклонение инициировал сам пользователь или его конфигурация. По сути это не сбой программы, а срабатывание защитного механизма: агент запросил действие вне списка разрешённых, и запуск был отменён.

Типичный сценарий: ассистент предлагает выполнить shell-команду — например, удалить временные файлы, изменить конфигурацию или запустить скрипт — а вместо выполнения в логе появляется отказ с формулировкой rejected by me. Такое поведение встречается при ручном отклонении запроса, при работе в режиме с ограниченными разрешениями или когда правила allowlist/denylist запрещают конкретную команду. Ниже разберём, как определить источник отказа и вернуть контролируемое выполнение команд.

Что означает сообщение «proactive command rejected by me»

Формулировка складывается из трёх частей. Proactive command — команда, которую агент решил выполнить по собственной инициативе, а не по прямому указанию пользователя в текущем сообщении. Rejected — выполнение отменено до запуска процесса. By me — маркер источника отказа: либо пользователь нажал отклонение в интерактивном запросе, либо сработало правило, заданное в пользовательской конфигурации.

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

💡

Сообщение proactive command rejected by me — это срабатывание системы разрешений, а не сбой. Команда заблокирована до запуска, поэтому диагностировать нужно настройки доступа, а не саму команду.