Bash permission rules in project settings.local.json don't match commands

Resolved 💬 3 comments Opened Apr 15, 2026 by ultrakorne Closed Apr 19, 2026

Bug

Bash(unity-cli:*) in .claude/settings.local.json (project-level) does not match unity-cli commands — the CLI still prompts for permission every time.

The exact same rule placed in ~/.claude/settings.json (global user settings) works correctly and allows unity-cli commands without prompting.

Repro

  1. Add "Bash(unity-cli:*)" to .claude/settings.local.json permissions allow list
  2. Restart Claude Code CLI
  3. Run any unity-cli command (e.g. unity-cli --version)
  4. Result: CLI prompts for permission
  5. Move the same rule to ~/.claude/settings.json
  6. Restart CLI
  7. Run the same command
  8. Result: Command runs without prompting

Also tried Bash(unity-cli *) and Bash(unity-cli:**) in the project file — none worked.

Environment

  • Claude Code CLI v2.1.109
  • macOS (Darwin 25.2.0, arm64)
  • unity-cli is a Mach-O 64-bit executable at ~/.local/bin/unity-cli

Expected

Permission rules in .claude/settings.local.json should behave identically to those in ~/.claude/settings.json.

🤖 Generated with Claude Code

View original on GitHub ↗

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