You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug Report: Bash Permissions in settings.json Not Respected
Summary
The permissions.allow and permissions.deny rules for Bash commands in settings.json are not reliably enforced. Users must create custom PreToolUse hooks to achieve the permission behavior that the configuration system promises.
Environment
Claude Code Version: Latest (check with claude --version)
OS: macOS (Darwin 25.2.0)
Interface: CLI (Terminal)
Steps to Reproduce
Create ~/.claude/settings.json with Bash permissions:
Actual: Permission prompt appears despite the allow rule
Expected Behavior
Commands matching patterns in permissions.allow should execute without prompting.
Commands matching patterns in permissions.deny should be blocked automatically.
Actual Behavior
Allow rules are ignored for Bash commands
Users are prompted for every Bash command regardless of configuration
This forces users to either:
Use --dangerously-skip-permissions (unsafe)
Click "Allow" hundreds of times per session
Implement custom PreToolUse hooks (workaround I had to use)
Document limitations clearly if certain patterns can't be supported
Additional Context
This user had 800+ Bash command patterns meticulously configured in settings.json, expecting them to work as documented. The discovery that none of them were being enforced was extremely frustrating and time-consuming to debug.
Submitted by: User via Claude Code session Date: 2026-01-17
Bug Report: Bash Permissions in settings.json Not Respected
Summary
The
permissions.allowandpermissions.denyrules for Bash commands insettings.jsonare not reliably enforced. Users must create custom PreToolUse hooks to achieve the permission behavior that the configuration system promises.Environment
claude --version)Steps to Reproduce
~/.claude/settings.jsonwith Bash permissions:{ "permissions": { "allow": [ "Bash(mkdir:*)", "Bash(ls:*)", "Bash(git status:*)" ], "deny": [ "Bash(rm:*)" ] } }mkdir -p /tmp/testExpected Behavior
Commands matching patterns in
permissions.allowshould execute without prompting.Commands matching patterns in
permissions.denyshould be blocked automatically.Actual Behavior
--dangerously-skip-permissions(unsafe)Related Issues
.claude/settings.local.jsonpermissions not respected for Bash/Write/Edit operations (even withbypassPermissionsmode) #15921: VSCode Extension doesn't respect Bash/Write/Edit permissions at allImpact
This is a high-friction issue that significantly degrades the user experience:
Workaround
I created a PreToolUse hook that properly enforces the allow/deny rules:
Suggested Fix
The built-in permission system should:
Additional Context
This user had 800+ Bash command patterns meticulously configured in settings.json, expecting them to work as documented. The discovery that none of them were being enforced was extremely frustrating and time-consuming to debug.
Submitted by: User via Claude Code session
Date: 2026-01-17