`.claude/` edits prompt on every edit in acceptEdits mode; `permissions.allow` rules and the per-session option don't suppress it (2.1.169)

Open 💬 0 comments Opened Jun 9, 2026 by liby

Summary

In acceptEdits (and default) mode, every Edit/Write to a file under
.claude/ (e.g. an Agent Skill at .claude/skills/<name>/SKILL.md) shows the
"edit its own settings" permission prompt, on every edit. When a session edits
many files under .claude/, this is one prompt per edit.

Two things that should stop it do not:

  1. permissions.allow rules scoped to .claude/ are not honored.
  2. The per-session "Yes, and allow Claude to edit its own settings for this

session" option does not stop subsequent .claude/ edits in the same
session from prompting again.

The only thing that suppresses the prompt is bypassPermissions, which is far
broader than intended (it also skips ask rules and every other prompt).

Environment

  • Claude Code 2.1.169 (native install)
  • macOS (Apple Silicon)
  • Terminal (CLI entrypoint)

Steps to reproduce (deterministic, headless)

Add to ~/.claude/settings.json -> permissions.allow:

["Edit(.claude)", "Edit(.claude/**)", "Write(.claude)", "Write(.claude/**)"]

Run in a trusted directory:

claude -p "Use the Write tool to create the file .claude/probe.txt with the content: ok. Then stop." --permission-mode default

Actual: the write is blocked and .claude/probe.txt is not created; the path is
treated as a sensitive / own-settings file that requires confirmation. The
allow rules above have no effect.

The same command with --permission-mode bypassPermissions creates the file:

claude -p "Use the Write tool to create the file .claude/probe.txt with the content: ok. Then stop." --permission-mode bypassPermissions
# -> .claude/probe.txt created

Interactive observation

In an interactive acceptEdits session, selecting the per-session
"allow ... edit its own settings" option does not stop later edits to files
under .claude/ from prompting again within the same session.

Expected

Either:

  • a permissions.allow rule scoped to .claude/ (e.g. Edit(.claude/**))

should pre-approve edits there, the same way path-scoped allow rules work for
other paths; or

  • the per-session "accept for this session" grant for the .claude/ folder

should cover all .claude/ edits for the rest of the session.

Actual

  • acceptEdits does not cover .claude/.
  • None of the allow rule forms above suppress the prompt.
  • Only bypassPermissions suppresses it.

Impact

Developing Agent Skills means editing .claude/skills/*.md frequently. Today
the only way to avoid a prompt on every edit is bypassPermissions, which
removes all other permission prompts too. There is no scoped, persistent way to
auto-approve .claude/ edits while keeping other prompts.

View original on GitHub ↗