VS Code Extension: 'default' permission mode does not prompt before Edit/Write tool calls

Resolved 💬 3 comments Opened Jan 27, 2026 by Jiggles900 Closed Jan 27, 2026

Bug Description

The claudeCode.initialPermissionMode setting set to default does not prompt for approval before applying file edits. Edits via the Edit tool are auto-applied without showing a diff or asking for confirmation.

Expected Behavior

In default mode, Claude should show a side-by-side diff of proposed changes and ask the user to accept, reject, or modify before applying edits.

Actual Behavior

Edits are applied immediately without any approval prompt, identical to acceptEdits mode behavior.

Steps to Reproduce

  1. Open VS Code with Claude Code extension
  2. Set claudeCode.initialPermissionMode to default (either via Settings UI or JSON)
  3. Reload VS Code window (Cmd+Shift+P → "Developer: Reload Window")
  4. Start a new Claude Code chat
  5. Ask Claude to make a test edit to any file
  6. Edit is applied immediately — no diff shown, no approval requested

Environment

  • OS: macOS (Darwin 24.6.0)
  • VS Code: Latest
  • Claude Code Extension: Latest
  • Model: claude-opus-4-5-20251101

Additional Context

Setting was previously acceptEdits

The setting was previously on acceptEdits. After changing to default:

  • Verified the VS Code user settings JSON reflects the change
  • Toggled through other modes (acceptEditsplandefault) to force a write
  • Reloaded the VS Code window
  • Started a fresh chat session

Extension logs confirm mode is received

The extension logs show the set_permission_mode messages are being sent from the webview:

2026-01-27 00:28:35.378 [info] Received message from webview: {"type":"request","channelId":"o7jnd0vart","requestId":"coi0b9qzmnm","request":{"type":"set_permission_mode","mode":"acceptEdits"}}
2026-01-27 00:28:36.051 [info] Received message from webview: {"type":"request","channelId":"o7jnd0vart","requestId":"149pox4m707","request":{"type":"set_permission_mode","mode":"plan"}}
2026-01-27 00:28:36.948 [info] Received message from webview: {"type":"request","channelId":"o7jnd0vart","requestId":"gqo569uypd","request":{"type":"set_permission_mode","mode":"default"}}

The webview is sending the correct mode, but the extension backend is not enforcing it for Edit/Write tool calls.

Tested across multiple sessions

  • Multiple test edits across multiple reloads all auto-applied
  • Both mid-session setting changes and fresh sessions after reload showed the same behavior
  • The .claude/settings.local.json has Edit/Write in the permissions allow list, which may be overriding the permission mode

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗