bypassPermissions mode not working in VS Code extension

Open 💬 8 comments Opened Jan 24, 2026 by wco

Description

The bypassPermissions mode configured in ~/.claude/settings.json and ~/.claude/settings.local.json does not work when using Claude Code through the VS Code extension. The extension continues to prompt for permission on every command.

Environment

  • VS Code Extension Version: 2.1.19 (anthropic.claude-code-2.1.19-linux-x64)
  • Platform: Ubuntu 22.04 (remote server via VS Code Remote SSH)
  • VS Code Client: Windows

Configuration Attempted

1. ~/.claude/settings.json and ~/.claude/settings.local.json

{
  "permissions": {
    "allow": [
      "Bash(*)",
      "Read(*)",
      "Edit(*)",
      "Write(*)",
      "WebFetch(*)"
    ],
    "defaultMode": "bypassPermissions"
  }
}

2. VS Code User Settings (Windows client)

{
    "claudeCode.allowDangerouslySkipPermissions": true,
    "claudeCode.initialPermissionMode": "bypassPermissions"
}

Steps to Reproduce

  1. Configure ~/.claude/settings.json with "defaultMode": "bypassPermissions"
  2. Configure VS Code settings with claudeCode.allowDangerouslySkipPermissions: true and claudeCode.initialPermissionMode: "bypassPermissions"
  3. Restart VS Code completely
  4. Open a new Claude Code session
  5. Ask Claude to run any bash command (e.g., sudo mysql -e "SELECT 1")

Expected Behavior

Commands should execute without prompting for permission when bypassPermissions mode is configured.

Actual Behavior

VS Code continues to prompt for permission on every command, regardless of the configuration.

Notes

  • The model setting in the same settings.json file IS being respected (using Opus as configured)
  • The allow list of specific commands works, but wildcards like Bash(*) are ignored
  • This suggests the extension reads the config file but ignores bypassPermissions mode and wildcards

View original on GitHub ↗

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