permissions.allow in project .claude/settings.json is ignored by VS Code extension
Summary
The VS Code extension does not honor permissions.allow entries defined in the project-level .claude/settings.json. The same entries work correctly in the CLI version.
Steps to Reproduce
- Add commands to
permissions.allowin.claude/settings.json(project-level):
``json``
"permissions": {
"allow": [
"Bash(node .claude/hooks/clear-file-history.js*)",
"Bash(node .claude/hooks/enable-sandbox.js*)"
]
}
- Run those commands via Claude Code in the VS Code extension
- Confirmation prompts appear despite being listed in
permissions.allow
Expected Behavior
Commands listed in the project-level permissions.allow should be auto-approved without confirmation, consistent with CLI behavior.
Actual Behavior
Confirmation prompts appear for every listed command. Adding the same entries to the global ~/.claude/settings.json resolves the issue.
Workaround
Add the same permissions.allow entries to the global ~/.claude/settings.json.
Environment
- Platform: Windows 11
- Shell: bash (Git Bash)
- Claude Code: VS Code extension
Note
If this is intentional (e.g., for security reasons to prevent malicious repos from auto-approving commands), it would be helpful to document this difference between CLI and VS Code extension behavior.
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗