From 61671ddc5e5d0d52a66c6341d5f0bf76322f7ef5 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sat, 8 Aug 2026 18:57:54 +0200 Subject: [PATCH] chore(claude): drop the no-op Write() twin of the treesitter deny MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A Write() permission rule matches nothing. File permission checks consult only Edit() rules, which already cover every file-editing tool — Write, Edit and NotebookEdit alike. Claude Code now warns about the dead shape at session start. The Edit() rule directly above this one was doing the whole job, so the grammars were never unprotected and nothing changes here but the warning. Worth noting the general hazard though: a permission rule that silently matches nothing is indistinguishable from one that works, which is the same failure mode as the git prefix-pattern bypass. Co-Authored-By: Claude Opus 5 (1M context) --- .claude/settings.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.claude/settings.json b/.claude/settings.json index 38936081..f69aaf03 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -39,7 +39,6 @@ ], "deny": [ "Edit(//var/mnt/data/projects/treesitter/**)", - "Write(//var/mnt/data/projects/treesitter/**)", "Bash(rm -rf /*)", "Bash(rm -rf ~*)", "Bash(rm -rf $HOME*)",