Skip to content

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

Description

@WisdomPatienceHappy

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:permissionsbugSomething isn't workinghas reproHas detailed reproduction stepsplatform:macosIssue specifically occurs on macOSplatform:vscodeIssue specifically occurs in VS CodestaleIssue is inactive

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions