[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

  1. Add Bash(find:*) to ~/.claude/settings.json permissions.allow
  2. Run a piped find command, e.g.: find /path -type f -name "*.py" | grep -v node_modules
  3. Get prompted — choose option 2 ("Yes, and don't ask again for: find:*")
  4. Run another piped find command
  5. 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

View original on GitHub ↗

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