[BUG]

Resolved 💬 2 comments Opened Mar 16, 2026 by jarfa Closed Mar 16, 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?

The glob pattern Bash(ls *) in the allow list does not match the command ls -la /tmp, causing an unexpected permission prompt.

OS X, Claude Code v2.1.76

What Should Happen?

I shouldn't need to give permission to Bash(ls -la /tmp) when Bash(ls *) is already in the allow list of ~/.claude/settings.json

Error Messages/Logs

❯ I'm testing something. Use the bash tool to run Bash(ls -la /tmp)

⏺ Reading 1 file… (ctrl+o to expand)
  ⎿  ls -la /tmp

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Bash command

   ls -la /tmp
   List files in /tmp directory

 Do you want to proceed?
 ❯ 1. Yes
   2. Yes, allow reading from tmp/ from this project
   3. No

 Esc to cancel · Tab to amend · ctrl+e to explain

Steps to Reproduce

  1. Add Bash(ls *) to ~/.claude/settings.json allow list
  2. Start a new Claude Code session
  3. Ask Claude to run ls -la /tmp
  4. Observe: permission prompt appears
  5. Expected: command should be auto-allowed since ls * should match ls -la /tmp

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.76

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

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