Description
The VS Code extension does not respect defaultMode: bypassPermissions set in settings.json (user, project, or local). Even with this mode configured at all three levels, the extension still prompts "Allow this bash command?" for every command.
Steps to reproduce
- Set
defaultMode: bypassPermissions in ~/.claude/settings.json
- Also set it in
.claude/settings.json and .claude/settings.local.json for the project
- Open VS Code with the Claude Code extension
- Ask Claude to run any Bash command
- Extension still prompts for confirmation
Expected behavior
bypassPermissions should suppress all permission prompts, as it does when running claude via the terminal/CLI.
Actual behavior
Extension always shows "Allow this bash command?" regardless of defaultMode setting.
Workaround
Using claude in the integrated terminal respects bypassPermissions correctly, but the terminal does not support pasting screenshots — which is a key reason users prefer the extension interface.
Environment
- Platform: Linux (WSL2)
- Shell: bash
- Interface: VS Code extension
- Settings confirmed at: user (
~/.claude/settings.json), project (.claude/settings.json), and local (.claude/settings.local.json)
Additional context
The VS Code extension settings UI only exposes a single "allow dangerous commands" toggle, with no way to set bypassPermissions mode from within the extension itself.
Description
The VS Code extension does not respect
defaultMode: bypassPermissionsset insettings.json(user, project, or local). Even with this mode configured at all three levels, the extension still prompts "Allow this bash command?" for every command.Steps to reproduce
defaultMode: bypassPermissionsin~/.claude/settings.json.claude/settings.jsonand.claude/settings.local.jsonfor the projectExpected behavior
bypassPermissionsshould suppress all permission prompts, as it does when runningclaudevia the terminal/CLI.Actual behavior
Extension always shows "Allow this bash command?" regardless of
defaultModesetting.Workaround
Using
claudein the integrated terminal respectsbypassPermissionscorrectly, but the terminal does not support pasting screenshots — which is a key reason users prefer the extension interface.Environment
~/.claude/settings.json), project (.claude/settings.json), and local (.claude/settings.local.json)Additional context
The VS Code extension settings UI only exposes a single "allow dangerous commands" toggle, with no way to set
bypassPermissionsmode from within the extension itself.