GitHub Copilot in VS Code settings reference
This article lists the configuration settings for GitHub Copilot in Visual Studio Code. For general information about working with settings in VS Code, refer to User and workspace settings.
The team is continuously working on improving Copilot in VS Code and adding new features. Some features are still experimental. Try them out and share your feedback in our issues. Get more info about the feature lifecycle in VS Code.
If you don't yet have a Copilot subscription, you can use Copilot for free by signing up for the Copilot Free plan and get a monthly limit of inline suggestions and chat interactions.
General settings
| Setting and Description | Default |
|---|---|
|
chat.commandCenter.enabled
Controls whether to show the Chat menu in the VS Code title bar. |
true |
|
workbench.settings.showAISearchToggle
Enable searching settings with AI in the Settings editor. |
true |
|
workbench.commandPalette.experimental.askChatLocation
(Experimental) Controls where the Command Palette should ask chat questions. |
"chatView" |
|
search.searchView.semanticSearchBehavior
(Preview) Configure when to run semantic search in the Search view: manually (default), when no text search results are found, or always. |
"manual" |
|
search.searchView.keywordSuggestions
(Preview) Controls whether to show keyword suggestions in the Search view. |
false |
Code editing settings
| Setting and Description | Default |
|---|---|
|
github.copilot.editor.enableCodeActions
Controls if Copilot commands are shown as Code Actions when available. |
true |
|
github.copilot.renameSuggestions.triggerAutomatically
Generate symbol renaming suggestions. |
true |
|
github.copilot.enable
Enable or disable inline suggestions for specified languages. |
{ "*": true, "plaintext": false, "markdown": false, "scminput": false } |
|
github.copilot.nextEditSuggestions.enabled
Enables next edit suggestions (NES). |
true |
|
editor.inlineSuggest.edits.allowCodeShifting
Configure if NES is able to shift your code to show a suggestion. |
"always" |
|
editor.inlineSuggest.edits.renderSideBySide
Configure if NES can show larger suggestions side-by-side if possible, or if Copilot NES should always show larger suggestions below the relevant code. |
"auto" |
|
github.copilot.nextEditSuggestions.fixes
Enable next edit suggestions based on diagnostics (squiggles). For example, missing imports. |
true |
|
editor.inlineSuggest.minShowDelay
Time in milliseconds to wait before showing inline suggestions. |
0 |
Chat settings
| Setting and Description | Default |
|---|---|
|
github.copilot.chat.localeOverride
Specify a locale for chat responses, such as en or fr. |
"auto" |
|
github.copilot.chat.useProjectTemplates
Use relevant GitHub projects as starter projects when using /new. |
true |
|
github.copilot.chat.scopeSelection
Whether to prompt for a specific symbol scope if you use /explain and the active editor has no selection. |
false |
|
github.copilot.chat.terminalChatLocation
Controls where chat queries from the terminal should be opened. |
"chatView" |
|
chat.detectParticipant.enabled
Enable chat participant detection in the Chat view. |
true |
|
chat.checkpoints.enabled
Enable or disable checkpoints in the chat. |
true |
|
chat.checkpoints.showFileChanges
Show a summary of file changes at the end of each chat request. |
false |
|
chat.editRequests
Enable or disable editing previous chat requests. |
"inline" |
|
chat.editor.fontFamily
Font family in chat codeblocks. |
"default" |
|
chat.editor.fontSize
Font size in pixels in chat codeblocks. |
14 |
|
chat.editor.fontWeight
Font weight in chat codeblocks. |
"default" |
|
chat.editor.lineHeight
Line height in pixels in chat codeblocks. |
0 |
|
chat.editor.wordWrap
Toggle line wrapping in chat codeblocks. |
"off" |
|
chat.editing.confirmEditRequestRemoval
Ask for confirmation before undoing an edit. |
true |
|
chat.editing.confirmEditRequestRetry
Ask for confirmation before performing a redo of the last edit. |
true |
|
chat.editing.autoAcceptDelay
Configure a delay after which suggested edits are automatically accepted, use zero to disable auto-accept. |
0 |
|
chat.fontFamily
Font family for Markdown content in chat. |
"default" |
|
chat.fontSize
Font size in pixels for Markdown content in chat. |
13 |
|
chat.notifyWindowOnConfirmation
Configure when to show an OS notification when user input is needed in a chat session: off to never show notifications, windowNotFocused (default) to show notifications only when the VS Code window is not focused, always to always show notifications. |
"windowNotFocused" |
|
chat.notifyWindowOnResponseReceived
Configure when to show an OS notification when a chat response is received: off to never show notifications, windowNotFocused (default) to show notifications only when the VS Code window is not focused, always to always show notifications. |
"windowNotFocused" |
|
chat.requestQueuing.defaultAction
Configure the default action for the Send button while a request is in progress: queue adds the message to the queue, steer signals the current request to yield. |
"queue" |
|
chat.tools.terminal.autoReplyToPrompts
Automatically reply to terminal prompts with a default answer. |
false |
setting(chat.tools.terminal.terminalProfile.<platform>)Configure which terminal profile to use for chat terminal commands on each platform. |
"" |
|
chat.hookFilesLocations
(Preview) Configure additional hook file locations. Specify paths to folders (loads all *.json files) or direct paths to .json files. Only relative paths and tilde paths are supported. |
{} |
|
chat.useAgentsMdFile
Enable or disable using AGENTS.md files as context for chat requests. |
true |
|
chat.math.enabled
Enable or disable math rendering with KaTeX in chat. |
false |
|
chat.viewTitle.enabled
(Preview) Show the title of the current chat session in the chat header. |
true |
|
github.copilot.chat.codesearch.enabled
(Preview) When using #codebase in the prompt, Copilot automatically discovers relevant files to be edited. |
false |
|
chat.emptyState.history.enabled
(Experimental) Show recent chat history in the empty state of the Chat view. |
false |
|
chat.sendElementsToChat.enabled
(Experimental) Enable sending elements from the integrated browser to the chat view as context. |
true |
|
workbench.browser.enableChatTools
(Experimental) Enable browser tools that let agents interact with pages in the integrated browser. |
false |
|
chat.useNestedAgentsMdFiles
(Experimental) Enable or disable using AGENTS.md files in subfolders of your workspace as context for chat requests. |
false |
|
github.copilot.chat.customOAIModels
(Experimental) Configure custom OpenAI-compatible models for chat. |
[] |
|
github.copilot.chat.edits.suggestRelatedFilesFromGitHistory
(Experimental) Suggest related files from git history in chat context. |
true |
Agent settings
| Setting and Description | Default |
|---|---|
|
chat.agent.enabled
This setting is managed at the organization level. Contact your administrator to change it. Enable or disable using agents (requires VS Code 1.99 or later). |
true |
|
chat.agent.maxRequests
Maximum number of requests that Copilot can make using agents. |
25 |
|
github.copilot.chat.agent.autoFix
Automatically diagnose and fix issues in the generated code changes. |
true |
|
chat.mcp.access
This setting is managed at the organization level. Contact your administrator to change it. Manage which Model Context Protocol (MCP) servers can be used in VS Code. |
true |
|
chat.mcp.discovery.enabled
Configure automatic discovery of MCP server configuration from other applications. |
false |
|
chat.mcp.serverSampling
Configure which models are exposed to MCP servers for sampling. |
{} |
|
chat.mcp.apps.enabled
(Experimental) Enable or disable MCP Apps, which are rich user interfaces provided by MCP servers. |
true |
|
chat.tools.terminal.autoApprove
Control which terminal commands are auto-approved when using agents. Commands can be set to true (auto-approve) or false (require approval). Regular expressions can be used by wrapping patterns in / characters. |
{ "rm": false, "rmdir": false, "del": false, "kill": false, "curl": false, "wget": false, "eval": false, "chmod": false, "chown": false, "/^Remove-Item\\b/i": false } |
|
chat.tools.terminal.enableAutoApprove
This setting is managed at the organization level. Contact your administrator to change it. Enable or disable automatic approval of terminal commands. |
true |
|
chat.tools.terminal.enforceTimeoutFromModel
(Experimental) Control whether to enforce the timeout value that the agent specifies for terminal commands. When enabled, the agent stops tracking the command after the specified duration and returns the output collected so far. |
true |
|
chat.tools.terminal.ignoreDefaultAutoApproveRules
Ignore the default auto-approve rules for terminal commands. |
false |
|
chat.tools.global.autoApprove
This setting is managed at the organization level. Contact your administrator to change it. Automatically approve all tools - this setting disables critical security protections. |
false |
|
chat.tools.urls.autoApprove
Control which URL requests and responses are auto-approved. |
[] |
|
chat.agent.thinking.collapsedTools
(Experimental) Configure whether tool call details are collapsed or expanded by default in the chat conversation. |
always |
|
chat.agent.thinkingStyle
(Experimental) Configure how thinking tokens are presented in chat. |
fixedScrolling |
|
chat.mcp.autoStart
(Experimental) Automatically start MCP servers when MCP configuration changes are detected. |
newAndOutdated |
|
chat.tools.eligibleForAutoApproval
This setting is managed at the organization level. Contact your administrator to change it. (Experimental) Configure which tools require manual approval before they can be used by agents. |
[] |
|
chat.tools.terminal.blockDetectedFileWrites
(Experimental) Require user approval for terminal commands that perform file writes. |
outsideWorkspace |
|
chat.tools.terminal.sandbox.enabled
(Experimental) Enable sandboxing for terminal commands executed by the agent (macOS and Linux only). When enabled, commands are auto-approved and have restricted file system and network access. |
false |
|
chat.tools.terminal.sandbox.linuxFileSystem
(Experimental) Configure file system access rules for sandboxed terminal commands on Linux. Supports allowWrite, denyWrite, and denyRead properties. |
{} |
|
chat.tools.terminal.sandbox.macFileSystem
(Experimental) Configure file system access rules for sandboxed terminal commands on macOS. Supports allowWrite, denyWrite, and denyRead properties. |
{} |
|
chat.tools.terminal.sandbox.network
(Experimental) Configure network access rules for sandboxed terminal commands. Supports allowedDomains to specify permitted domains and allowTrustedDomains to include domains from the Trusted Domains list. |
{} |
|
github.copilot.chat.newWorkspaceCreation.enabled
(Experimental) Enable the tool for scaffolding a new workspace in chat. |
true |
|
github.copilot.chat.agent.thinkingTool
(Experimental) Enable the thinking tool when using agents. |
false |
|
github.copilot.chat.summarizeAgentConversationHistory.enabled
(Experimental) Automatically summarize the agent conversation history when the context window is full. |
true |
|
github.copilot.chat.virtualTools.threshold
(Experimental) Tool count over which virtual tools should be used. Virtual tools group similar sets of tools together and enable the model to activate them on-demand. Enables you to go beyond the limit of 128 tools for a chat request. |
128 |
Agent sessions
The Agents view provides a centralized location for managing both local chat conversations and remote coding agent sessions. This view enables you to work with multiple AI sessions simultaneously, track their progress, and manage long-running tasks efficiently.
| Setting and Description | Default |
|---|---|
|
workbench.startupEditor
Configure the VS Code welcome page to act as your agent sessions entry point. Set to agentSessionsWelcomePage to show the VS Code welcome page with recent sessions, embedded chat, and quick actions. |
N/A |
|
chat.viewSessions.enabled
Show the agent sessions list in the Chat view. |
true |
|
chat.agentsControl.enabled
(Experimental) Enable the agent status indicator in the command center. Shows unread and in-progress session badges. |
true |
|
chat.agentsControl.clickBehavior
(Experimental) Configure the behavior when selecting the chat icon in the agent status indicator. |
"cycle" (Insiders)"default" (Stable) |
|
chat.unifiedAgentsBar.enabled
(Experimental) Replace the command center search box with a unified chat and search control. |
false |
Inline chat settings
| Setting and Description | Default |
|---|---|
|
inlineChat.defaultModel
Configure the default language model for editor inline chat. The model you select persists during the session, but resets to this configured default after VS Code reloads. |
N/A |
|
inlineChat.renderMode
(Experimental) Configure how inline chat is displayed. hover: shows inline chat in a floating overlay, zone: shows inline chat in a dedicated zone in the editor. |
"hover" |
|
inlineChat.finishOnType
Finish an editor inline chat session when typing outside of changed regions. |
false |
|
inlineChat.holdToSpeech
Holding the editor inline chat keyboard shortcut (⌘I (Windows, Linux Ctrl+I)) automatically enables speech recognition. |
true |
|
editor.inlineSuggest.syntaxHighlightingEnabled
Show syntax highlighting for inline suggestions. |
true |
|
inlineChat.affordance
(Experimental) Show a visual hint when you select text to help start inline chat. off: no hint, gutter: shows in line number area, editor: shows at cursor position with lightbulb. |
"off" |
|
inlineChat.lineEmptyHint
(Experimental) Show a hint for editor inline chat on an empty line. |
false |
|
inlineChat.lineNaturalLanguageHint
(Experimental) Trigger editor inline chat as soon as a line mostly consists of words. |
true |
|
github.copilot.chat.editor.temporalContext.enabled
(Experimental) Include recently viewed and edited files in the context for editor inline chat. |
false |
Code review settings
| Setting and Description | Default |
|---|---|
|
github.copilot.chat.reviewSelection.enabled
(Preview) Enable code review with AI for an editor text selection. |
true |
|
github.copilot.chat.reviewSelection.instructions
(Preview) Custom instructions that are added to requests for reviewing the current editor selection with AI. |
[] |
Custom instructions settings
| Setting and Description | Default |
|---|---|
|
chat.instructionsFilesLocations
Locations to search for custom instructions files. Relative paths are resolved from the root folder(s) of your workspace. Supports glob patterns for file paths. |
{ ".github/instructions": true, "~/.claude/rules": false" } |
|
chat.includeApplyingInstructions
Automatically add instruction files with a matching applyTo pattern to chat requests. |
true |
|
chat.includeReferencedInstructions
Automatically add instruction files referenced via Markdown links to chat requests. |
false |
|
github.copilot.chat.codeGeneration.useInstructionFiles
Automatically add custom instructions from .github/copilot-instructions.md to chat requests. |
true |
|
github.copilot.chat.commitMessageGeneration.instructions
(Experimental) Custom instructions for generating commit messages with AI. |
[] |
|
github.copilot.chat.pullRequestDescriptionGeneration.instructions
(Experimental) Custom instructions for generating pull request titles and descriptions with AI. |
[] |
Reusable prompt files settings
| Setting and Description | Default |
|---|---|
|
chat.promptFilesLocations
Locations to search for prompt files. Relative paths are resolved from the root folder(s) of your workspace. Supports glob patterns for file paths. |
{ ".github/prompts": true } |
|
chat.promptFilesRecommendations
Enable or disable prompt file recommendations when opening a new chat session. List of key-value pairs of prompt file name and boolean or when clause. |
[] |
Custom agents settings
| Setting and Description | Default |
|---|---|
|
chat.agentFilesLocations
Locations to search for custom agent files. Relative paths are resolved from the root folder(s) of your workspace. Supports home directory expansion ( ~) for user-specific paths. |
{ ".github/agents": true } |
|
chat.customAgentInSubagent.enabled
(Experimental) Enable using a custom agent with subagents. |
false |
|
github.copilot.chat.cli.customAgents.enabled
(Experimental) Enable using custom agents from GitHub background agent sessions. |
false |
Agent skills settings
| Setting and Description | Default |
|---|---|
|
chat.useAgentSkills
Enable support for agent skills in VS Code. |
true |
|
chat.agentSkillsLocations
Locations to search for agent skills. Relative paths are resolved from the root folder(s) of your workspace. Supports home directory expansion ( ~) for user-specific paths. |
"chat.agentSkillsLocations": { ".github/skills": true,".claude/skills": true,"~/.copilot/skills": true,"~/.claude/skills": true} |
Debugging settings
| Setting and Description | Default |
|---|---|
|
github.copilot.chat.startDebugging.enabled
(Preview) Enables the experimental /startDebugging intent in the Chat view to generate debugging configuration. |
true |
|
github.copilot.chat.copilotDebugCommand.enabled
(Preview) Enables the copilot-debug terminal command. |
true |
Testing settings
| Setting and Description | Default |
|---|---|
|
github.copilot.chat.generateTests.codeLens
(Experimental) Show Generate tests code lens for symbols that are not covered by current test coverage information. |
false |
|
github.copilot.chat.setupTests.enabled
(Experimental) Enables the experimental /setupTests intent and prompting in /tests generation. |
true |
Notebook settings
| Setting and Description | Default |
|---|---|
|
notebook.experimental.generate
(Experimental) Enable the Generate action to create code cells with notebook inline chat. |
true |
|
github.copilot.chat.edits.newNotebook.enabled
(Experimental) Enable the notebook tool in edit mode to create a new notebook file. |
true |
|
github.copilot.chat.notebook.followCellExecution.enabled
(Experimental) Show the currently executing cell in the editor. |
false |
Accessibility settings
| Setting and Description | Default |
|---|---|
|
inlineChat.accessibleDiffView
Whether the Inline Chat also renders an accessible diff viewer for its changes. |
"auto" |
|
accessibility.signals.chatRequestSent
Plays a signal - sound (audio cue) and/or announcement (alert) - when a chat request is made. |
{ "sound": "auto", "announcement": "auto" } |
|
accessibility.signals.chatResponseReceived
Plays a sound / audio cue when the response has been received. |
{ "sound": "auto" } |
|
accessibility.signals.chatEditModifiedFile
Plays a sound / audio cue when the file has been modified by chat edits. |
{ "sound": "auto" } |
|
accessibility.signals.chatUserActionRequired
Plays a sound / audio cue when the user needs to take an action in chat. |
{ "sound": "auto", "announcement": "auto" } |
|
accessibility.signals.lineHasInlineSuggestion
Plays a sound / audio cue when the cursor is on a line that has an inline suggestion. |
{ "sound": "auto" } |
|
accessibility.signals.nextEditSuggestion
Plays a sound / audio cue when a next edit suggestion is available. |
{ "sound": "auto", "announcement": "auto" } |
|
accessibility.verboseChatProgressUpdates
Provide verbose updates about chat activity. |
true |
|
accessibility.verbosity.inlineChat
Provide information about how to access the inline editor chat accessibility help menu and alert with hints that describe how to use the feature when the input is focused. |
true |
|
accessibility.verbosity.inlineCompletions
Provide information about how to access the inline suggestions hover and Accessible View. |
true |
|
accessibility.verbosity.panelChat
Provide information about how to access the chat help menu when the chat input is focused. |
true |
|
accessibility.voice.keywordActivation
Controls whether the keyword phrase 'Hey Code' is recognized to start a voice chat session. |
"off" |
|
accessibility.voice.autoSynthesize
Controls whether a textual response should automatically be read out aloud when speech was used as input. |
"off" |
|
accessibility.voice.speechTimeout
The duration in milliseconds that voice speech recognition remains active after you stop speaking. |
1200 |