Bug: Entire .claude/ directory prompts for approval, not just settings files

Resolved 💬 3 comments Opened Mar 31, 2026 by urbangibon-beep Closed Apr 3, 2026

Description

Editing any file inside the .claude/ directory triggers an approval prompt — even files that have nothing to do with configuration (skill files, prompt templates, agent definitions, etc.).

The prompt reads: "Do you want to make this edit to [filename]? Yes / Yes, and allow Claude to edit its own settings for this session / No"

This appears to be an unintended side effect of the hardcoded protection added for settings.json / settings.local.json. The protection is correct for those files, but the implementation catches the entire .claude/ folder instead of just the settings files.

Steps to Reproduce

  1. Have a project with a .claude/ folder containing skill files or other non-settings files
  2. Ask Claude to edit any file inside .claude/ (e.g. .claude/skills/some-skill/SKILL.md)
  3. Approval prompt appears, even with a broad allow list in settings.json

Expected Behavior

Only settings.json and settings.local.json (or equivalent config files) should trigger the approval prompt. All other files in .claude/ should respect the normal permissions/allow list.

Actual Behavior

Every file inside .claude/ triggers the prompt regardless of file type or content.

Environment

  • Claude Code terminal (confirmed), also reported in VS Code extension
  • macOS
  • Permissions allow list includes Edit(*), Write(*), Bash(*)

Additional Context

Files outside .claude/ (e.g. .tmp/, project root) edit freely with no prompt. The issue is scoped specifically to the .claude/ directory.

Clean repro:

  • .tmp/some-file.md → no prompt ✓
  • .claude/skills/any-skill/SKILL.md → prompt triggered ✗
  • .claude/settings.json → prompt triggered ✓ (this one is intentional)

View original on GitHub ↗

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