Skip to content

Commit 4064594

Browse files
authored
Copilot CLI: Move config directory reference details (#60938)
1 parent 5329efe commit 4064594

3 files changed

Lines changed: 113 additions & 86 deletions

File tree

content/copilot/reference/copilot-cli-reference/cli-command-reference.md

Lines changed: 2 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -322,67 +322,7 @@ copilot --allow-tool='MyMCP'
322322

323323
## Configuration file settings
324324

325-
Settings cascade from user to repository to local, with more specific scopes overriding more general ones. Command-line flags and environment variables always take the highest precedence.
326-
327-
| Scope | Location | Purpose |
328-
|-------|----------|---------|
329-
| User | `~/.copilot/config.json` | Global defaults for all repositories. Use the `COPILOT_HOME` environment variable to specify an alternative path. |
330-
| Repository | `.github/copilot/settings.json` | Shared repository configuration (committed to the repository). |
331-
| Local | `.github/copilot/settings.local.json` | Personal overrides (add this to `.gitignore`). |
332-
333-
### User settings (`~/.copilot/config.json`)
334-
335-
| Key | Type | Default | Description |
336-
|-----|------|---------|-------------|
337-
| `allowedUrls` | `string[]` | `[]` | URLs or domains allowed without prompting. |
338-
| `autoUpdate` | `boolean` | `true` | Automatically download CLI updates. |
339-
| `banner` | `"always"` \| `"once"` \| `"never"` | `"once"` | Animated banner display frequency. |
340-
| `bashEnv` | `boolean` | `false` | Enable `BASH_ENV` support for bash shells. |
341-
| `beep` | `boolean` | `true` | Play an audible beep when attention is required. |
342-
| `compactPaste` | `boolean` | `true` | Collapse large pastes into compact tokens. |
343-
| `custom_agents.default_local_only` | `boolean` | `false` | Only use local custom agents. |
344-
| `denied_urls` | `string[]` | `[]` | URLs or domains blocked (takes precedence over `allowed_urls`). |
345-
| `experimental` | `boolean` | `false` | Enable experimental features. |
346-
| `includeCoAuthoredBy` | `boolean` | `true` | Add a `Co-authored-by` trailer to git commits made by the agent. |
347-
| `companyAnnouncements` | `string[]` | `[]` | Custom messages shown randomly on startup. |
348-
| `logLevel` | `"none"` \| `"error"` \| `"warning"` \| `"info"` \| `"debug"` \| `"all"` \| `"default"` | `"default"` | Logging verbosity. |
349-
| `model` | `string` | varies | AI model to use (see the `/model` command). Set to `"auto"` to let {% data variables.product.prodname_copilot_short %} pick the best available model automatically. |
350-
| `powershellFlags` | `string[]` | `["-NoProfile", "-NoLogo"]` | Flags passed to PowerShell (`pwsh`) on startup. Windows only. |
351-
| `effortLevel` | `string` | `"medium"` | Reasoning effort level for extended thinking (e.g., `"low"`, `"medium"`, `"high"`, `"xhigh"`). Higher levels use more compute. |
352-
| `mergeStrategy` | `"rebase"` \| `"merge"` || Conflict resolution strategy for `/pr fix conflicts`. When set to `"rebase"`, conflicts are resolved by rebasing onto the base branch. When set to `"merge"`, the base branch is merged into the feature branch. If not configured, a picker dialog is shown. |
353-
| `renderMarkdown` | `boolean` | `true` | Render Markdown in terminal output. |
354-
| `screenReader` | `boolean` | `false` | Enable screen reader optimizations. |
355-
| `stream` | `boolean` | `true` | Enable streaming responses. |
356-
| `storeTokenPlaintext` | `boolean` | `false` | Store authentication tokens in plain text in the configuration file when no system keychain is available. |
357-
| `streamerMode` | `boolean` | `false` | Hide preview model names and quota details (useful when demonstrating {% data variables.copilot.copilot_cli_short %}). |
358-
| `theme` | `"auto"` \| `"dark"` \| `"light"` | `"auto"` | Terminal color theme. |
359-
| `mouse` | `boolean` | `true` | Enable mouse support in alt screen mode. |
360-
| `respectGitignore` | `boolean` | `true` | Exclude gitignored files from the `@` file picker. |
361-
| `disableAllHooks` | `boolean` | `false` | Disable all hooks. |
362-
| `hooks` | `object` || Inline user-level hook definitions. |
363-
| `copyOnSelect` | `boolean` | `true` (macOS), `false` (other) | Automatically copy mouse-selected text to the system clipboard in alt screen mode. |
364-
| `statusLine` | `object` || Custom status line display. `type`: must be `"command"`. `command`: path to a script that receives session JSON on stdin and prints status content to stdout. `padding`: optional left-padding spaces. |
365-
| `suppress_init_folders` | `string[]` | `[]` | Folders where the `/init` suggestion has been dismissed. Managed automatically by `/init suppress`. |
366-
| `updateTerminalTitle` | `boolean` | `true` | Show the current intent in the terminal title. |
367-
368-
### Repository settings (`.github/copilot/settings.json`)
369-
370-
Repository settings apply to everyone who works in the repository. Only the keys listed in the following table are supported at the repository level. Any other keys—including keys that are valid in the user configuration file—are silently ignored.
371-
372-
| Key | Type | Merge behavior | Description |
373-
|-----|------|---------------|-------------|
374-
| `companyAnnouncements` | `string[]` | Replaced—repository takes precedence | Messages shown randomly on startup. |
375-
| `disableAllHooks` | `boolean` | Repository takes precedence | Disable all hooks. |
376-
| `enabledPlugins` | `Record<string, boolean>` | Merged—repository overrides user for same key | Declarative plugin auto-install. |
377-
| `extraKnownMarketplaces` | `Record<string, {...}>` | Merged—repository overrides user for same key | Plugin marketplaces available in this repository. |
378-
| `hooks` | `object` | Concatenated—repository hooks run after user hooks | Hook definitions scoped to this repository. See [Hooks reference](#hooks-reference). |
379-
| `mergeStrategy` | `"rebase"` \| `"merge"` | Repository takes precedence | Conflict resolution strategy for `/pr fix conflicts`. |
380-
381-
### Local settings (`.github/copilot/settings.local.json`)
382-
383-
Create `.github/copilot/settings.local.json` in the repository, for personal overrides that should not be committed. Add this file to `.gitignore`.
384-
385-
The local configuration file uses the same schema as the repository configuration file (`.github/copilot/settings.json`) and takes precedence over it.
325+
For detailed information about configuration file settings—including the full list of user settings, repository settings, local settings, and how they cascade—see [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-config-dir-reference#configuration-file-settings).
386326

387327
## Project initialization for {% data variables.product.prodname_copilot_short %}
388328

@@ -402,7 +342,7 @@ The CLI looks for the `copilot-instructions.md` file on startup, and if it's mis
402342

403343
> 💡 No copilot instructions found. Run /init to generate a copilot-instructions.md file for this project.
404344
405-
If you don't want to create this file, you can permanently hide this startup message by using the `/init suppress` slash command, which adds a `suppress_init_folders` setting for this repository to your {% data variables.product.prodname_copilot_short %} configuration file.
345+
If you don't want to create this file, you can permanently hide this startup message for the current repository by using the `/init suppress` slash command.
406346

407347
For more information, see [AUTOTITLE](/copilot/how-tos/configure-custom-instructions/add-repository-instructions).
408348

0 commit comments

Comments
 (0)