VS Code extension ignores bypassPermissions defaultMode — always prompts for Bash commands
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: bypassPermissionsin~/.claude/settings.json - Also set it in
.claude/settings.jsonand.claude/settings.local.jsonfor 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.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗