bypassPermissions mode not working in VS Code extension
Status Open
Reported on v2.1.19
Maintainer reply None cached
Workaround ✓ Mentioned in thread ↓
Activity 8 comments · opened Jan 24, 2026
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.jsonwith"defaultMode": "bypassPermissions" - Configure VS Code settings with
claudeCode.allowDangerouslySkipPermissions: trueandclaudeCode.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
modelsetting in the samesettings.jsonfile IS being respected (using Opus as configured) - The
allowlist of specific commands works, but wildcards likeBash(*)are ignored - This suggests the extension reads the config file but ignores
bypassPermissionsmode and wildcards
8 Comments
Found 3 possible duplicate issues:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Still getting this with Claude Code 2.1.50 and VSCode extension 2.1.49. Can be partially mitigated by having this is Claude global settings:
plz solve this
issue was reproduced on
VS Code: 1.110.1
claude code for VS Code: 2.1.79
OS: Linux
after upgrade
IDE-VSCODE-CC-01-v1: Workaround — bypassPermissions in VSCode Extension
---
Environment
| Component | Version |
|---|---|
| OS | Ubuntu 25.10, Linux 6.17.0-19-generic x86_64 |
| VSCode | 1.112.0 (x64) |
| Claude Code Extension | anthropic.claude-code@2.1.79 |
| Mode | VSCode native chat panel (NOT CLI in terminal) |
---
Problem
defaultMode: "bypassPermissions"alone was ignored by the extension. Granular per-command entries likeBash(curl:*)worked, but broad wildcards likeRead(*)did not. MCP tool calls always prompted.---
Workaround: Belt-and-Suspenders Config
The key insight: both
defaultMode: "bypassPermissions"AND explicit tool wildcards are needed together. Neither alone is sufficient.Step 1 —
~/.claude/settings.json(global)Step 2 —
.claude/settings.local.json(project-level, same permissions block)Step 3 — VSCode User Settings (
~/.config/Code/User/settings.json)Step 4 — Restart VSCode completely (not just reload window)
---
Verification
After applying, tested 10 tools across all categories — zero permission prompts:
| Tool | Auto-approved? |
|---|---|
|
Bash(echo ...)| Yes ||
Bash(podman compose ps)| Yes ||
Read(file)| Yes ||
Edit(file)| Yes ||
Glob(*.md)| Yes ||
Grep(pattern)| Yes || MCP tool calls (5 different servers) | Yes |
---
Extension Logs
Log location:
~/.config/Code/logs/{session}/window1/exthost/Anthropic.claude-code/Claude VSCode.logPermission evaluation (working — not blocked)
Settings loading — 3 locations checked, 2 missing is normal
The extension reads settings from:
~/.claude/settings.json— global (read successfully).claude/settings.local.json— project-level (read successfully)/etc/claude-code/managed-settings.json— enterprise (missing, expected)---
Notes
mcp__servername__*pattern in the allow list.defaultMode: "acceptEdits"was set with per-command Bash entries — switching to"bypassPermissions"+ full wildcard list fixed it.tree-sitter unavailablelog line is cosmetic — permission check falls back toshell-quoteparser and works fine.---
Verified 2026-03-20 | Workaround for upstream bug #20536
The key finding (both defaultMode AND explicit wildcards needed together) isn't documented anywhere upstream, so that comment adds real value.
Note that issues reproduces easily when we mention 'plan' in prompt, e.g. asking the agent to prepare a plan,
it goes into planning mode and doesn't return to Bypass Permissions one without operator intervention.
I understand this is as designed.
However if I don't apply above workaround on latest version just stops my IDE from expected workflow with the Permissions Bypass.
Personal lesson learned & a recommendation for Claude Code users - disable automatic update for Claude Code. We cannot be sure about it's quality unless we certify it in our own environments.
To creators of Claude Code:
thank you for this amazing tool & good blessings ❤️ 🌞 🌻 🍀 .
Please, consider this as a procedural enhancement - introduce code certification with evidence collection so that community knows what the tool can do - treat it as a functional certification guardrail.
This stuff appeared to me on vs code 1.124 (and anothe previous version) on the 9th of June.
Today 2.1.175 affected
Yesterday 2.1.173 affeted
Probably last workign was 2.1.170
Talking about VSCode Extension installed and autoupodate via VS Code