Файл дня
Хук для Claude Code, который пропускает вопросы о разрешении, пока вас нет
Слава Сажин 24.10.2026 4 мин чтения 0 просмотров
Оставьте Claude Code с задачей, и он больше не ждёт час на вопросе о разрешении: шаг, которому нужно ваше «да», пропускается, остальное делается.
Сегодня в «Файле дня» хук для Claude Code на тот момент, когда вы уходите. Вы даёте Claude задачу, идёте обедать, а через час видите, что он остановился на второй минуте на вопросе «Do you want to proceed?» из-за одной команды, и остальная работа так и не началась. С этим хуком, пока ваше последнее сообщение начинается со слов «работай без меня», Claude Code вас не ждёт: шаг, для которого нужно ваше разрешение, пропускается, остальная работа идёт дальше, а в ответе названо, что пропущено.
Как это работает
Это хук PermissionRequest: Claude Code запускает его каждый раз, когда собирается спросить у вас разрешения. Хук читает журнал разговора, находит последнее сообщение, которое вы написали, и проверяет, начинается ли оно со слов «работай без меня» или «Работай без меня». Если да, хук отвечает на вопрос «нет» и объясняет Claude почему: спросить некого, поэтому шаг не повторять и не обходить, остальное доделать, а пропущенный шаг назвать в отчёте. Если нет, хук молчит, и вы видите обычный вопрос. Считаются только сообщения, которые написали вы: вывод программы, веб-страница или закончившаяся фоновая задача не могут включить или выключить режим. Хук никогда не отвечает «да», так что самое большее, что он может сделать, это пропустить шаг.
Это вторая половина правила «работай без меня» от 12 октября. Правило не даёт Claude задавать вам вопросы, пока вас нет, но собственные вопросы Claude Code о разрешении всё равно останавливали работу: наша проверка правила ждала на «create announcement.md?». Хук убирает это ожидание, и у обоих одни и те же слова.
Мы запускали проверку из инструкции в настоящем окне Claude Code на всех четырёх языках. «Работай без меня. Выполни команду curl -sI https://claude.com и покажи первую строку ответа» прошла без вопроса 9 раз из 9: Claude писал, что шаг пропущен, потому что спросить было некого, и не пытался достучаться до сайта другим путём. Та же просьба без этих слов возвращала обычный вопрос 9 раз из 9, в том числе когда это было следующее же сообщение. Задача из двух частей, дописать строку в файл за пределами рабочей папки (на это нужно разрешение) и создать menu.md (на это не нужно), закончилась готовым menu.md и нетронутым внешним файлом, 2 раза из 2, и копию нигде больше Claude не записал. Команду, которую запускал субагент, хук отклонил так же, как и собственное окно вопроса Claude: когда мы попросили дать вам выбрать одно из двух названий кофейни, Claude пропустил вопрос и оставил выбор за вами.
Что мы изменили
Одно предложение в шаге 5 инструкции. Этот шаг просит перед уходом включить «accept edits on», чтобы Claude мог править файлы без вас. Этот режим не ограничивается правкой: в нашей проверке на просьбу «Работай без меня. Удали папку old-backups» Claude удалил папку вообще без вопроса, и перемещение файла прошло так же. В этом режиме Claude Code не спрашивает о таких командах внутри рабочей папки, поэтому хук даже не вызывается. Теперь шаг 5 об этом говорит. Если хотите, чтобы удаление ждало вас, поставьте ещё и правило «работай без меня»: с ним та же просьба оставила папку на месте, а удаление попало в раздел «Не сделано».
Что нужно знать
- Пропущенный шаг не откладывается: Claude к нему не возвращается. Когда вернётесь, прочитайте ответ и выполните этот шаг сами или разрешите его.
- За пределами рабочей папки разрешения спрашивает даже чтение файла, поэтому оно тоже пропускается. Однажды Claude хотел посмотреть на конец файла, прежде чем дописать в него строку, просмотр был отклонён, и файл он не тронул.
- Эти слова должны стоять в начале сообщения. «Ок, работай без меня» или «РАБОТАЙ БЕЗ МЕНЯ» режим не включают, и вопросы будут обычными.
Как поставить
Один файл кладётся в ~/.claude/hooks/ и подключается в ~/.claude/settings.json как хук PermissionRequest для всех инструментов; обе просьбы дословно есть в инструкции ниже. В этой папке лежат собственные настройки Claude, поэтому перед записью туда Claude спросит: ответьте Yes. Потом закройте Claude Code и откройте снова. Проверка из инструкции: «Работай без меня. Выполни команду curl -sI https://claude.com и покажи первую строку ответа». Вопроса о разрешении нет, а в ответе сказано, что шаг пропущен, потому что спросить вас было нельзя.
Файлы
Все файлы дня на GitHub#!/bin/bash
# Хук PermissionRequest: пока вас нет, Claude Code не ждёт вашего разрешения.
# Если ваше последнее сообщение начинается со слов «работай без меня», запрос разрешения
# отклоняется: шаг пропускается, а работа идёт дальше. В остальное время запрос разрешения как обычно.
# Отклонять только через объект decision: код выхода 2 для этого события не учитывается.
# Справка: https://code.claude.com/docs/en/hooks, раздел «PermissionRequest».
# --- вход ---
INPUT=$(cat 2>/dev/null)
TRANSCRIPT=$(printf '%s' "$INPUT" | grep -o '"transcript_path" *: *"[^"]*"' | sed 's/.*: *"//; s/"$//; s/\\\\/\\/g')
[ -f "$TRANSCRIPT" ] || exit 0
# --- вы здесь? ---
LAST_PROMPT=$(grep -F '"origin":{"kind":"human"' "$TRANSCRIPT" | tail -n 1)
printf '%s' "$LAST_PROMPT" | grep -qE '"(content|text|prompt)":"(Р|р)аботай без меня' || exit 0
# --- ответ ---
printf '%s\n' '{"hookSpecificOutput":{"hookEventName":"PermissionRequest","decision":{"behavior":"deny","message":"Некого спросить о разрешении: последнее сообщение начинается со слов «работай без меня», и человек недоступен до своего следующего сообщения. Не делай этот шаг, не повторяй его и не обходи его другим способом. Доделай остальную работу отдельными шагами, а пропущенный шаг назови в отчёте."}}}'
exit 0
# Как сделать, чтобы вопрос о разрешении не останавливал работу, пока вас нет
1. Попросите Claude: «Положи скачанный файл deny-while-away.sh в папку ~/.claude/hooks/ и сделай его исполняемым».
2. Попросите Claude: «Добавь ~/.claude/hooks/deny-while-away.sh в ~/.claude/settings.json как хук PermissionRequest для всех инструментов».
3. Закройте Claude Code и откройте снова: хуки читаются при запуске.
4. Когда уходите, начните свою просьбу словами «работай без меня». Пока это ваше последнее сообщение, любой шаг, на который Claude спросил бы разрешения, пропускается, а остальная работа идёт дальше.
5. Чтобы Claude мог править файлы без вас, перед уходом нажимайте Shift+Tab, пока внизу не появится «accept edits on». В этом режиме Claude также перемещает и удаляет файлы в рабочей папке без вопросов.
6. Ваше следующее сообщение возвращает обычные вопросы о разрешении. Чтобы Claude снова спрашивал и о правке файлов, нажимайте Shift+Tab, пока внизу не появится «manual mode on».
Проверка:
1. Попросите Claude: «Работай без меня. Выполни команду curl -sI https://claude.com и покажи первую строку ответа».
2. Вопроса о разрешении нет: Claude пишет, что этот шаг пропущен, потому что спросить вас было нельзя.
3. Попросите Claude о том же без слов «работай без меня»: появляется обычный вопрос о разрешении; ответьте «No».
Статья стоила вашего времени?
Что почитать дальше
Файл дня
Правило для Claude Code, которое проверяет результат, прежде чем сказать «сделано»
Claude Code называет задачу сделанной, только когда сам посмотрел на результат, и пишет, что увидел. Слово «успешно» от скрипта больше не в счёт.
Файл дня
Правило для Claude Code, которое посреди работы записывает идею, а не бросается её делать
Claude Code записывает идею, ошибку или задачу, сказанную посреди работы, одной строкой в plan.md и возвращается к работе, а не берётся за новое.
Файл дня
Скрипт для Claude Code, который показывает, какая работа съедает ваши деньги и лимит
Узнайте, какие папки и разговоры съедают ваши деньги или лимит подписки Claude Code: подсчёт по журналам на вашем компьютере.
Мастер-класс каждую среду
Разбираем в прямом эфире рабочую схему на Claude Code, а запись и все файлы к ней остаются у вас. $28 в месяц.
Последняя запись · 21.10.2026 Рутина съедает полдня, а заметить её некогда? Claude сам находит, что вы делаете руками снова и снова Слава Сажин