settings.json — не граница, а догадка о том, что сделает строка в шелле. За двадцать шесть дней эту догадку чинили пятнадцать раз.Речь про чекер прав для Bash в Claude Code. В
CHANGELOG.md после метки stable лежат строки, которые чинят ровно одно — решение «спрашивать разрешение или нет».Восемь релизов из двадцати восьми, вышедших после
stable.Что проезжало мимо чекера:
— Глоб в значении опции:
grep -v dir/* file. Файлы, в которые раскрывается звёздочка, чекер пропускал (2.1.271).— Два
cd, сабшелл или цепочка cd+git в одной строке — команда шла без вопроса при включённом permissions.blockReadsOutsideWorkingDirectories, в bypass и auto (2.1.271).—
env -C или eval на той же строке — deny-правило на Read или Edit просто не применялось (2.1.268).— deny и ask на
/etc, /tmp, /var не срабатывали, если путь дали реальным местоположением, а не через симлинк (2.1.268).Самая неприятная строка — про правила, которые не работали молча. В формулировке чейнджлога 2.1.260:
Правила прав, в пути которых есть круглые скобки, отбрасывались как некорректные, и «read-only» папки оставались доступными на запись.
Теперь про направление. Из пятнадцати правок ровно одна — про лишний вопрос: в 2.1.270 чинили read-only git-команды, которые начали спрашивать разрешение посреди сессии. Ещё одна направления не называет. Остальные тринадцать — про вопрос, которого не было.
Переносим к себе. Правила вы пишете в терминах файлов и путей, а проверяет их парсер строки шелла, и каждая из этих правок — место, где парсер проиграл шеллу. Причём формы, на которых он спотыкался, пишете не вы:
grep -v dir/* file и цепочку из двух cd сочиняет агент.Что сделать сегодня. Выполнить
npm view @anthropic-ai/claude-code dist-tags и сравнить с тем, что отвечает ваш claude --version. На 15 сентября latest — 2.1.272, а stable — 2.1.236 от 19 августа. Все они вышли после неё.Честности ради: это строки самой Anthropic, то есть речь только о том, что она нашла и назвала сама. Почти всё здесь — про чтение файлов, а не про запись. И чинится это тяжело: в 2.1.233 правку про
< file и Cygwin-симлинки откатили целиком, пообещав вернуть «более узкую версию».https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
Какое правило из вашего
permissions.deny вы не рискнули бы проверить командой, которую агент написал сам?

