VS Code extension ignores Bash permission allow rules from settings.json

Resolved 💬 4 comments Opened Apr 6, 2026 by WisdomPatienceHappy Closed May 20, 2026

Description

The VS Code extension does not enforce Bash(...) allow rules defined in ~/.claude/settings.json and ~/.claude/settings.local.json. Every Bash command prompts for permission, even when explicitly allowed.

The CLI respects these rules perfectly — same config files, same machine, same commands. Only the extension ignores them.

Reproduction

  1. Add Bash allow rules to ~/.claude/settings.json:
{
  "permissions": {
    "allow": [
      "Bash(ls *)",
      "Bash(git status*)",
      "Bash(git log*)"
    ]
  }
}
  1. Run claude in terminal → ls -la ~/some/path executes without prompting ✅
  2. Use the VS Code extension → same command prompts for permission ❌

Expected behavior

The VS Code extension should enforce the same Bash(...) allow/deny rules from settings.json that the CLI does. Users shouldn't have to approve the same safe commands hundreds of times per session.

Environment

  • macOS 15 (Darwin 25.3.0)
  • Cursor (VS Code fork) — but the issue is with the Claude Code extension, not Cursor specifically
  • Claude Code CLI works correctly with the same settings
  • Both ~/.claude/settings.json and ~/.claude/settings.local.json tested

Impact

Heavy users with comprehensive allow lists (100+ Bash patterns) get no benefit from them in the extension. This makes the extension significantly less usable for power users who have carefully curated their permission rules. The constant prompting interrupts flow and slows down work considerably.

But all good. Thank you. The tool is amazing. Deeply appreciate you guys and all the work you've done!

View original on GitHub ↗

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