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
- Configure
~/.claude/settings.json with "defaultMode": "bypassPermissions"
- Configure VS Code settings with
claudeCode.allowDangerouslySkipPermissions: true and claudeCode.initialPermissionMode: "bypassPermissions"
- Restart VS Code completely
- Open a new Claude Code session
- 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
Description
The
bypassPermissionsmode configured in~/.claude/settings.jsonand~/.claude/settings.local.jsondoes not work when using Claude Code through the VS Code extension. The extension continues to prompt for permission on every command.Environment
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
~/.claude/settings.jsonwith"defaultMode": "bypassPermissions"claudeCode.allowDangerouslySkipPermissions: trueandclaudeCode.initialPermissionMode: "bypassPermissions"sudo mysql -e "SELECT 1")Expected Behavior
Commands should execute without prompting for permission when
bypassPermissionsmode is configured.Actual Behavior
VS Code continues to prompt for permission on every command, regardless of the configuration.
Notes
modelsetting in the samesettings.jsonfile IS being respected (using Opus as configured)allowlist of specific commands works, but wildcards likeBash(*)are ignoredbypassPermissionsmode and wildcards