Файл дня

Хук для Claude Code, который пропускает команды чтения без вопроса

Слава Сажин 25.09.2026 2 мин чтения 9 просмотров

PreToolUse-хук, который даёт Claude Code запускать grep, cat, ls и git log без вопроса о разрешении, а остальные команды оставляет вам. Один скрипт.

Сегодня в «Файле дня» хук для Claude Code. Перед каждым grep, ls или git log Claude Code спрашивает разрешения, и к двадцатому разу «да» нажимается не глядя. Хук сам отвечает за команды, которые только читают, и на экране остаются вопросы о тех, что что-то меняют.

Как он решает

Хук делит команду на части по ;, &&, ||, | и & так же, как оболочка, поэтому разделитель в кавычках остаётся частью слова. Команда проходит, только если каждая её часть есть в закрытом списке: около сорока программ вроде grep, cat, ls и head и подкоманды git, которые только читают, например log, diff и status.

Всё, в чём он не уверен, уходит к вам, как раньше: запись в файл, $(...), heredoc, присваивание переменной, программа по пути, а ещё sed, find, awk и xargs, которые умеют запускать другие программы. Отдельно он ловит опции, которые превращают чтение в запись, вроде sort -o или git log --output.

Что поменять под себя

Списки лежат в начале файла. Свои программы для чтения допишите в CHTENIE, подкоманды git - в GIT_CHTENIE. Прежде чем добавить программу, проверьте, нет ли у неё опции, которая пишет файл или запускает команду, и если есть, внесите эту опцию в OPASNYE_OPCII.

Как поставить

Скрипт кладётся в ~/.claude/hooks/, блок настроек - в ~/.claude/settings.json. Нужны python3 и jq. Команды, блок и проверка в две строки есть в инструкции ниже.

Файлы

tolko_chtenie.py 6 КБ
kak-postavit.md 3 КБ

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

Посмотреть тарифы

Статья стоила вашего времени?

Что почитать дальше

Мастер-класс каждую среду

Разбираем в прямом эфире рабочую схему на Claude Code, а запись и все файлы к ней остаются у вас. $28 в месяц.

Следующий · Четверг, 12.11.2026 Агент читает почту и не выполняет чужих команд: защита от промпт-инъекций Слава Сажин
Все мастер-классы

Связаться с командой Combobulating