[BUG] permissions precedence not followed between user settings and local project settings
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?
Local project settings permissions are overridden by user settings permissions. If a bash command is allowed by .claude/settings.local.json but it's denied in ~/.claude/settings.json, Claude Code will be denied execution permission.
What Should Happen?
Claude Code should have permissions to execute the bash command allowed in .claude/settings.local.json
Local project settings should take precedence and override user settings. According to the docs, https://code.claude.com/docs/en/settings#settings-precedence
Settings are applied in order of precedence (highest to lowest): 1. Enterprise managed policies (managed-settings.json) > - Deployed by IT/DevOps > - Cannot be overridden 2. Command line arguments > - Temporary overrides for a specific session 3. Local project settings (.claude/settings.local.json) > - Personal project-specific settings 4. Shared project settings (.claude/settings.json) > - Team-shared project settings in source control 5. User settings (~/.claude/settings.json) > - Personal global settings
Furthermore, https://code.claude.com/docs/en/settings#key-points-about-the-configuration-system
- Precedence: Higher-level configurations (Enterprise) override lower-level ones (User/Project) - Inheritance: Settings are merged, with more specific settings adding to or overriding broader ones
Error Messages/Logs
Bash(ls)
⎿ Error: Permission to use Bash with command ls has been denied.
Bash(ls -la)
⎿ Error: Permission to use Bash with command ls -la has been denied.
Steps to Reproduce
- Add
"Bash(ls:*)"to the deny list in user settings,~/.claude/settings.json - Add
"Bash(ls:*)"to the allow list in local project settings,.claude/settings.local.json - Start a Claude Code instance and prompt
run the ls bash command
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.55
Platform
Anthropic API
Operating System
Ubuntu/Debian Linux
Terminal/Shell
VS Code integrated terminal
Additional Information
<img width="2552" height="1498" alt="Claude Code Screenshot" src="https://github.com/user-attachments/assets/f89f3a04-c283-495b-9a63-134b80482f60" />
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗