[BUG] Auto-approved Bash permission pattern not preventing re-prompts for piped commands
Resolved 💬 3 comments Opened Mar 16, 2026 by milesAraya Closed Mar 19, 2026
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?
Bash(find:*) is configured in both global (~/.claude/settings.json) and project-level (.claude/settings.local.json) allow lists, but Claude Code still prompts for approval on find commands that include pipes.
Piped find commands (find ... | grep ..., find ... | head ...) continue to prompt despite the permission being saved.
What Should Happen?
Commands starting with find should be auto-approved when Bash(find:*) is in the allow list.
Error Messages/Logs
Steps to Reproduce
- Add
Bash(find:*)to~/.claude/settings.jsonpermissions.allow - Run a piped find command, e.g.:
find /path -type f -name "*.py" | grep -v node_modules - Get prompted — choose option 2 ("Yes, and don't ask again for: find:*")
- Run another piped find command
- Get prompted again despite the saved permission
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.72
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Related issues
- #29967 - Permission prompt suggests pattern that won't match piped commands
- #14595 - Bash Pipe Permission Behavior is Unpredictable and Undocumented
- #28275 - Bash permission allowlist not matching piped commands correctly
- #29400 - "Don't ask again" keeps re-prompting for the same command
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗