claude-code - 💡(How to fix) Fix [BUG] VSCode extension requests permissions for commands already approved

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Error Messages/Logs

Code Example

10. Bash(gh api *)
 11. Bash(gh api *)
 12. Bash(gh pr *)
 13. Bash(gh run *)
 15. Bash(git diff *)
 16. Bash(git diff *)
 18. Bash(grep -n *)
 19. Bash(grep -nE *)
 20. Bash(grep *)

---
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

No matter how many times I click "Allow", whether it is for the project, globally, or just for me, these commands are always flagged as needing permission. It ignores the Allow setting, and even creates duplicate permissions, as seen below from /permissions in the cli:

 10. Bash(gh api *)
 11. Bash(gh api *)
 12. Bash(gh pr *)
 13. Bash(gh run *)
 15. Bash(git diff *)
 16. Bash(git diff *)
 18. Bash(grep -n *)
 19. Bash(grep -nE *)
 20. Bash(grep *)

The 'grep' one is particularly egregious, but being asked to approve 'git diff' every time?

I also have every possible way you could refer to several scripts, e.g. scripts/run-tests.sh and ./scripts/run-tests.sh, and /User/full/path/to/scripts/run-tests.sh. With and without the asterisk. It doesn't matter, it asks every time.

I've tried deleting all permissions from all three settings files.

As another example, I'm digging through git history to see when something changed. It asks if it can run "git log [...]" and I say yes, always allow "git log *". Then not ten seconds later, it asks if it can run "git log [...]" about another file it is looking at.

What Should Happen?

Clicking 'allow' should mean the next time the exact same command is attempted, it doesn't ask again.

Error Messages/Logs

Steps to Reproduce

I have no idea. Some commands it remembers after the first "always allow". Some commands it never does.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.20

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

If there were a log file somewhere I'd provide it, but I don't see one in any of the expected locations. If there's instructions for running with logging enabled, I can't find it.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING