Configure settings
The extension has two types of settings:
Extension settings in VS Code: control the extension's behavior within VS Code. Open with
Cmd+,(Mac) orCtrl+,(Windows/Linux), then go to Extensions → Claude Code. You can also type/and select General Config to open settings.Claude Code settings in
~/.claude/settings.json: shared between the extension and CLI. Use it for allowed commands, environment variables, hooks, and MCP servers. On Pro, Max, and Team plans, it's also one input to the permission mode conversations start in. Switch permission modes lists the order. See Settings for details.Add
"$schema": "https://json.schemastore.org/claude-code-settings.json"to yoursettings.jsonto get autocomplete and inline validation for all available settings directly in VS Code.
Extension settings
VS Code reads initialPermissionMode from your user settings and ignores workspace values. Before v2.1.225, VS Code defaulted the setting to default and applied workspace values.
| Setting | Default | Description |
|---|---|---|
useTerminal | false | Launch Claude in terminal mode instead of graphical panel |
initialPermissionMode | - | Controls approval prompts for new conversations: default, plan, acceptEdits, or bypassPermissions. manual is an alias for default and selects the mode labeled Manual in the mode indicator. When you leave it unset, the extension chooses the starting permission mode as described in Switch permission modes. |
preferredLocation | panel | Where Claude opens: sidebar (right) or panel (new tab) |
autosave | true | Auto-save files before Claude reads or writes them |
useCtrlEnterToSend | false | Use Ctrl/Cmd+Enter instead of Enter to send prompts |
enableNewConversationShortcut | false | Enable Cmd/Ctrl+N to start a new conversation |
enableReopenClosedSessionShortcut | true | Use Cmd/Ctrl+Shift+T to reopen the most recently closed Claude session tab. When the last closed tab wasn't a Claude session, the shortcut runs VS Code's normal reopen-closed-editor command instead. |
archiveInactiveSessions | 14 | Archive a session automatically after this many days without activity: 1, 2, 7, or 14. Set 0 to turn it off. Requires Claude Code v2.1.265 or later |
hideOnboarding | false | Hide the onboarding checklist (graduation cap icon) |
focusView | false | Hide tool calls, tool results, and thinking behind expandable rows, leaving your prompts and Claude's responses. Claude's latest to-do list stays visible; this requires Claude Code v2.1.225 or later. You can also toggle Focus view from the command menu. Requires Claude Code v2.1.221 or later |
respectGitIgnore | true | Exclude .gitignore patterns from file searches |
usePythonEnvironment | true | Activate the workspace's Python environment when running Claude. Requires the Python extension. |
environmentVariables | [] | Set environment variables for the Claude process. Use Claude Code settings instead for shared config. |
disableLoginPrompt | false | Skip authentication prompts (for third-party provider setups) |
allowDangerouslySkipPermissions | false | Adds Bypass permissions to the mode selector. Use it only in sandboxes with no internet access. |
claudeProcessWrapper | - | Executable used to launch the Claude process. The bundled binary path is passed as an argument when present. Set this to a separately installed claude binary if the extension build doesn't include one for your platform. In a wrapped setup, conversations start in Manual mode unless you set initialPermissionMode or picked Manual, Edit automatically, or Auto in an earlier conversation, because the extension skips the settings and built-in-default steps there; see Switch permission modes. An "Unsupported platform" error at activation means no binary is bundled for your platform; see which platforms have prebuilt binaries. |