acceptEdits mode still prompts for files in .claude/ directory (workspace root)

Resolved 💬 3 comments Opened Mar 21, 2026 by William-1776 Closed Apr 19, 2026

Description

When ~/.claude/ is added as a workspace root in a multi-root VS Code workspace, edits to files inside it (e.g. ~/.claude/commands/*.md skill files, ~/.claude/rules/*.md) still trigger permission prompts despite:

  1. claudeCode.initialPermissionMode set to "acceptEdits" in VS Code user settings
  2. Edit(*) in the allow list of ~/.claude/settings.json (global)
  3. Edit(*) in the allow list of ~/.claude/settings.local.json (user-level)
  4. Edit(*) in the allow list of project-level settings.local.json

Expected behavior

Files inside ~/.claude/ should be auto-approved for edits when:

  • acceptEdits mode is active, OR
  • Edit(*) is in the allow list

At minimum, .claude/ should not be treated as a protected directory when it is an explicit workspace root configured by the user.

Actual behavior

Every edit to any file inside ~/.claude/ shows:

"Make this edit to [filename]?" 1. Yes 2. Yes, allow all edits this session 3. No

This happens on every new session. Selecting option 2 works for the session, but the prompt returns on next restart.

Environment

  • Claude Code extension: v2.1.81 (VS Code, macOS)
  • macOS Darwin 25.3.0 (Apple Silicon)
  • Multi-root workspace with ~/.claude as one of 5 roots
  • window.restoreWindows: "preserve" in VS Code settings

Reproduction

  1. Add ~/.claude as a workspace root
  2. Set claudeCode.initialPermissionMode: "acceptEdits"
  3. Add Edit(*) to ~/.claude/settings.json allow list
  4. Start a new conversation
  5. Ask Claude to edit any file in ~/.claude/commands/ or ~/.claude/rules/
  6. Observe: permission prompt still appears

Suggested fix

Respect Edit(*) allow rules and acceptEdits mode for .claude/ paths, especially when .claude/ is an explicit workspace root. The current hardcoded protection makes sense as a default safety net, but users who have explicitly allowed edits via both the permission mode AND the allow list have clearly opted in.

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗