[BUG] Permission Bypass Functionality Breaks When Adding ignorePatterns to Global Settings
Environment
- Platform (select one):
- [x] Anthropic API
- [ ] AWS Bedrock
- [ ] Google Vertex AI
- [ ] Other: <!-- specify -->
- Claude CLI version: 1.0.55 (Claude Code)
- Operating System: Darwin 24.5.0 (macOS)
- Terminal: Claude Code
Bug Description
The permission bypass functionality ("defaultMode": "bypassPermissions") completely stops working when ignorePatterns is added to the global settings file (~/.claude/settings.json). This affects both the visual indicator and the actual permission bypass functionality.
Steps to Reproduce
- Start with a clean global settings file (
~/.claude/settings.json) containing only:
``json``
{
"permissions": {
"allow": ["*"],
"deny": [],
"defaultMode": "bypassPermissions"
},
"includeCoAuthoredBy": false,
"enableAllProjectMcpServers": true
}
- Verify that:
- "Bypassing Permissions" appears in the bottom-right status bar
- Claude can access files outside the project directory without permission prompts
- Add
ignorePatternsto the global settings:
``json``
{
"permissions": {
"allow": ["*"],
"deny": [],
"defaultMode": "bypassPermissions"
},
"includeCoAuthoredBy": false,
"enableAllProjectMcpServers": true,
"ignorePatterns": [
"*.bak",
"*.tmp",
"cscope.out"
]
}
- Restart Claude Code or wait for configuration reload
Expected Behavior
- The permission bypass functionality should continue to work regardless of other configuration options
- The "Bypassing Permissions" status indicator should remain visible
- Claude should be able to access files outside the project directory without permission prompts
Actual Behavior
- The "Bypassing Permissions" status indicator disappears from the status bar
- The permission bypass functionality stops working entirely
- Claude can no longer access files outside the project directory without explicit permissions
- File operations that previously worked are now blocked
Additional Context
- Severity: HIGH - Core functionality is broken
- This is not just a visual bug - the actual permission bypass functionality is disabled
- The issue is reproducible and reversible - removing
ignorePatternsfrom the global settings restores both the status display and functionality - This forces users to choose between using global ignore patterns and having permission bypass functionality
- Workaround: The only current workaround is to avoid using
ignorePatternsin the global settings file, which severely limits the ability to configure Claude Code for optimal performance - Impact:
- High: Core permission bypass functionality is broken
- Forces users to choose between essential features
- Significantly impacts user workflow and Claude Code's usability
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗