VS Code extension: Edit/Write tools prompt for approval despite allow rules and "auto accept edits" mode
Resolved 💬 4 comments Opened Mar 22, 2026 by emanuelubert Closed Mar 26, 2026
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
- Edit(/Users/<username>/) and Write(/Users/<username>/) are in ~/.claude/settings.json allow list
- VS Code permission mode is set to "edit automatically"
- Edit and Write tool calls still show the diff view and require manual approval
- Bash commands with Bash(*) in the allow list run without prompting (as expected)
- Tested with no settings.local.json present
- macOS, Claude Code VS Code extension
What Should Happen?
Expected behavior: Edit and Write tool calls matching an allow rule (e.g., Edit(/Users/<username>/**)) should execute without prompting, the same way Bash tool calls matching Bash(*) do. The "edit automatically" permission mode should reinforce this, not be overridden by a separate diff approval flow.
Error Messages/Logs
Steps to Reproduce
Steps to reproduce:
- Add Edit(/Users/<username>/) and Write(/Users/<username>/) to ~/.claude/settings.json allow list
- Set VS Code permission mode to "edit automatically" (bottom of chat input)
- Ensure no settings.local.json exists that could shadow the rules
- Ask Claude to edit any file under the home directory (e.g., "add a comment line to ~/.claude/skills/any-file.md")
- Observe: Edit tool shows diff view and waits for manual approval
- For comparison, ask Claude to do the same edit via Bash sed. Observe: runs without prompting
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.78 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗