[BUG] Permission Bypass Functionality Breaks When Adding ignorePatterns to Global Settings

Resolved 💬 3 comments Opened Jul 20, 2025 by huangyingw Closed Jan 5, 2026

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

  1. Start with a clean global settings file (~/.claude/settings.json) containing only:

``json
{
"permissions": {
"allow": ["*"],
"deny": [],
"defaultMode": "bypassPermissions"
},
"includeCoAuthoredBy": false,
"enableAllProjectMcpServers": true
}
``

  1. Verify that:
  • "Bypassing Permissions" appears in the bottom-right status bar
  • Claude can access files outside the project directory without permission prompts
  1. Add ignorePatterns to the global settings:

``json
{
"permissions": {
"allow": ["*"],
"deny": [],
"defaultMode": "bypassPermissions"
},
"includeCoAuthoredBy": false,
"enableAllProjectMcpServers": true,
"ignorePatterns": [
"*.bak",
"*.tmp",
"cscope.out"
]
}
``

  1. 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 ignorePatterns from 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 ignorePatterns in 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

View original on GitHub ↗

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