Хуки Claude Code блокируют вызовы только при коде выхода 2
Разработчик выяснил, что в хуках Claude Code вызов инструмента отменяет только код выхода 2, а код 1 и любой другой ненулевой код считаются некритичной ошибкой и не останавливают выполнение. За три недели его защитный хук с sys.exit(1) «заблокировал» 9 команд, и все 9 выполнились.
- Только код выхода 2 в PreToolUse отменяет вызов инструмента
- Хук с sys.exit(1) за три недели не остановил ни одну из 9 опасных команд
- Падающий хук тоже пропускает вызов: traceback даёт код 1, отсутствие jq — 127
- Исправление: возвращать 2 при совпадении и перехватывать любые сбои с кодом 2
Читать дальше
ИИ