[BUG] Wrong command is reported in "don't ask again for" in "This command requires approval"
Resolved 💬 10 comments Opened Feb 21, 2026 by SivkovSavely Closed Mar 25, 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?
When executing bash with a pipe, where the first pipe argument should be auto-allowed, but the second isn't, like this:
Bash command
hyprctl clients -j | python3 -c "import sys,json; [print(f'at=({c[\"at\"][0]},{c[\"at\"][1]})') for c in json.loads(sys.stdin.read()) if 'popup' in c.get('title','')]"
Check popup position after manual move
Do you want to proceed?
❯ 1. Yes
2. Yes, and don’t ask again for: hyprctl clients:*
3. No
Esc to cancel · Tab to amend
It asks to allow hyprctl clients:*, even though hyprctl clients:* is allowed:
> \cat .claude/settings.local.json
{
"permissions": {
"allow": [
"mcp__web-search-prime__webSearchPrime",
"mcp__web-reader__webReader",
"Bash(head:*)",
"Bash(tail:*)",
"Bash(tail *)",
"Bash(flutter pub get)",
"Bash(flutter build linux --release)",
"Bash(grep:*)",
"Bash(grep *)",
"Bash(flutter build:*)",
"Read(//home/username/.pub-cache/hosted/pub.dev/**)",
"Bash(flutter clean)",
"Bash(cmake *)",
"Bash(dart analyze *)",
"Bash(hyprctl clients:*)",
"Bash(hyprctl monitors:*)"
]
}
}
Python is not allowed, so the Bash tool call is probably blocked because of python, not because of hyprctl clients.
What Should Happen?
TUI should display the correct prompt:
Bash command
hyprctl clients -j | python3 -c "import sys,json; [print(f'at=({c[\"at\"][0]},{c[\"at\"][1]})') for c in json.loads(sys.stdin.read()) if 'popup' in
c.get('title','')]"
Check popup position after manual move
Do you want to proceed?
❯ 1. Yes
2. Yes, and don’t ask again for: python3:*
3. No
Esc to cancel · Tab to amend
Error Messages/Logs
Steps to Reproduce
- Start in a new project
- Ask it to run a piped command of your liking, where both parts will not be allowed
- Allow the first one
- Ask it to rerun this command
- The first command will still be there, even though it is allowed.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.50 (Claude Code)
Platform
Anthropic API
Operating System
Other Linux
Terminal/Shell
Other
Additional Information
OS: Arch Linux, EndeavourOS flavor, super custom but I don't think that it should matter.
Terminal: kitty
Default shell: zsh
Sorry if it's a dupe, I searched but couldn't find the similar issue.
This issue has 10 comments on GitHub. Read the full discussion on GitHub ↗