Preflight Checklist
What's Wrong?
Summary
The Claude Code VSCode extension does not read or respect any permission settings from settings files, despite documentation stating settings are shared between CLI and extension.
Environment
- OS: macOS Darwin 24.6.0
-
- VSCode Extension: Claude Code for VS Code (anthropic.claude-code)
-
-
- Extension Version: 2.0.75
-
Expected Behavior
Permission settings in ~/.claude/settings.json and .claude/settings.json should be respected by the VSCode extension, auto-approving commands in the allow list and blocking commands in the deny list.
Actual Behavior
The VSCode extension prompts for permission on EVERY bash command regardless of settings configuration. Neither allow rules nor deny rules have any effect.
Files Tested
- ~/.claude/settings.json (global user settings) ❌ Not read
-
- .claude/settings.json (project settings) ❌ Not read
-
-
- .claude/settings.local.json (local project settings) ❌ Not read
-
-
-
- VSCode settings.json with claudeCode.* keys ❌ Not read
Additional Observations
- CLI claude in terminal) correctly reads and respects these same settings files
-
- The extension appears to use default "prompt for everything" behavior
-
-
- No combination of settings files or VSCode settings changes this behavior
-
-
-
- Restarting VSCode, creating new chat instances, etc. have no effect
What Should Happen?
Permission settings in ~/.claude/settings.json and .claude/settings.json should be respected by the VSCode extension:
- Commands in the "allow" list should be auto-approved without prompting
-
- Commands in the "deny" list should be blocked
-
-
- The claudeCode.allowDangerouslySkipPermissions VSCode setting should bypass permission prompts when set to true
-
-
-
- Settings from CLI should be shared and honored by the VSCode extension as documented
Steps to Reproduce
- Create ~/.claude/settings.json with permission rules
-
- Create .claude/settings.json in project with same content
-
- Completely quit and restart VSCode
-
- Open new Claude Code chat
-
- Ask Claude to run a bash command (e.g., eb --version)
Expected: Command runs without prompt (if in allow list) or is blocked (if in deny list)
Actual: Extension prompts "Allow this bash command?" regardless of settings
Impact
- Users cannot configure autonomous workflows in VSCode
-
- Every bash command requires manual approval
-
-
- Significantly impacts productivity for trusted development environments
-
-
-
- Documentation claims settings are shared but they are not
Workaround
Use CLI in terminal instead of VSCode extension (CLI correctly reads settings)
Error Messages/Logs
Steps to Reproduce
- Create ~/.claude/settings.json with:
-
- {
- "permissions": {
-
"allow": ["Bash", "Edit", "Write"],
-
"deny": ["Bash(rm -rf:*)"]
- }
- }
-
- Create .claude/settings.json in project with same content
- (Optional) Create .claude/settings.local.json in project with same content
- (Optional) Add to VSCode settings.json:
-
- {
- "claudeCode.allowDangerouslySkipPermissions": true
- }
-
- Completely quit and restart VSCode
- Open new Claude Code chat
- Ask Claude to run any bash command (e.g., "run eb --version")
Expected Result: Command runs without prompt (or is blocked if in deny list)
Actual Result: Extension prompts "Allow this bash command?" despite settings configuration
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.0.75
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response
Preflight Checklist
What's Wrong?
The Claude Code VSCode extension does not read or respect any permission settings from settings files, despite documentation stating settings are shared between CLI and extension.
Environment
Expected Behavior
Permission settings in ~/.claude/settings.json and .claude/settings.json should be respected by the VSCode extension, auto-approving commands in the allow list and blocking commands in the deny list.
Actual Behavior
The VSCode extension prompts for permission on EVERY bash command regardless of settings configuration. Neither allow rules nor deny rules have any effect.
Files Tested
Additional Observations
What Should Happen?
Permission settings in ~/.claude/settings.json and .claude/settings.json should be respected by the VSCode extension:
Steps to Reproduce
Expected: Command runs without prompt (if in allow list) or is blocked (if in deny list)
Actual: Extension prompts "Allow this bash command?" regardless of settings
Impact
Workaround
Use CLI in terminal instead of VSCode extension (CLI correctly reads settings)
Error Messages/Logs
Steps to Reproduce
Expected Result: Command runs without prompt (or is blocked if in deny list)
Actual Result: Extension prompts "Allow this bash command?" despite settings configuration
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
No response
Claude Code Version
2.0.75
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
No response