Skip to content

Commit ffb509c

Browse files
tpopehubwriter
andauthored
Replace .copilot/config.json references with .copilot/settings.json (#60921)
Co-authored-by: hubwriter <hubwriter@github.com>
1 parent 123fb7e commit ffb509c

8 files changed

Lines changed: 145 additions & 57 deletions

File tree

content/copilot/how-tos/copilot-cli/manage-pull-requests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ When resolving conflicts, {% data variables.copilot.copilot_cli_short %} needs t
156156

157157
To set a default merge strategy so that you are not prompted each time, add the `mergeStrategy` setting to your configuration file. You can set this in your personal user settings for {% data variables.product.prodname_copilot_short %}, or in the repository settings.
158158

159-
* **User settings**: Add `"mergeStrategy": "rebase"` or `"mergeStrategy": "merge"` to your user-level configuration file (typically `~/.copilot/config.json`).
159+
* **User settings**: Add `"mergeStrategy": "rebase"` or `"mergeStrategy": "merge"` to your user-level configuration file (typically `~/.copilot/settings.json`).
160160
* **Repository settings**: Add the same setting to `.github/copilot/settings.json` in your repository root.
161161

162162
## Fixing CI failures

content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ By default, the CLI stores your OAuth token in your operating system's keychain
6767
| Windows | Credential Manager |
6868
| Linux | libsecret (GNOME Keyring, KWallet) |
6969

70-
If the system keychain is unavailable—for example, on a headless Linux server without `libsecret` installed—the CLI prompts you to store the token in a plaintext configuration file at `~/.copilot/config.json`.
70+
If the system keychain is unavailable—for example, on a headless Linux server without `libsecret` installed—the CLI prompts you to store the token in a plaintext configuration file at `~/.copilot/settings.json`.
7171

7272
When you run a command, {% data variables.copilot.copilot_cli_short %} checks for credentials in the following order:
7373

content/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ If you choose to trust the directory for future sessions, the trusted directory
4141

4242
You can edit the list of permanently trusted directories.
4343

44-
1. Open the CLI’s `config.json` file. By default, it’s stored in a `.copilot` folder under your home directory:
44+
1. Open the CLI’s `settings.json` file. By default, it’s stored in a `.copilot` folder under your home directory:
4545

46-
* **macOS/Linux**: `~/.copilot/config.json`
47-
* **Windows**: `$HOME\.copilot\config.json`
46+
* **macOS/Linux**: `~/.copilot/settings.json`
47+
* **Windows**: `$HOME\.copilot\settings.json`
4848

4949
You can change the config location by setting the `COPILOT_HOME` environment variable.
5050

content/copilot/how-tos/copilot-cli/steer-remotely.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Details for accessing the session remotely are displayed when the interactive se
5858

5959
### Configuring remote access to always be enabled
6060

61-
If you always want your interactive CLI sessions to be remotely accessible, add the following to your {% data variables.product.prodname_copilot_short %} configuration file (typically located at `~/.copilot/config.json`):
61+
If you always want your interactive CLI sessions to be remotely accessible, add the following to your {% data variables.product.prodname_copilot_short %} configuration file (typically located at `~/.copilot/settings.json`):
6262

6363
```json copy
6464
{

content/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ For additional information use one of the following commands in your terminal:
271271
272272
`copilot help config`
273273
274-
You can adjust the configuration settings by editing the `config.json` file, which is located, by default, in the `~/.copilot` directory. This location can be changed by setting the `COPILOT_HOME` environment variable.
274+
You can adjust the configuration settings by editing the `settings.json` file, which is located, by default, in the `~/.copilot` directory. This location can be changed by setting the `COPILOT_HOME` environment variable.
275275
276276
* **Environment variables** that affect {% data variables.copilot.copilot_cli_short %}:
277277

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

Lines changed: 120 additions & 35 deletions
Large diffs are not rendered by default.

content/copilot/reference/copilot-cli-reference/cli-config-dir-reference.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The `~/.copilot` directory contains the following top-level items.
2323

2424
| Path | Type | Description |
2525
|------|------|-------------|
26-
| `config.json` | File | Your personal configuration settings |
26+
| `settings.json` | File | Your personal configuration settings |
2727
| `copilot-instructions.md` | File | Personal custom instructions (applied to all sessions) |
2828
| `instructions/` | Directory | Additional personal `*.instructions.md` files |
2929
| `mcp-config.json` | File | User-level MCP server definitions |
@@ -46,10 +46,13 @@ The `~/.copilot` directory contains the following top-level items.
4646

4747
The following files are designed to be edited by you directly, or managed through CLI commands.
4848

49-
### `config.json`
49+
### `settings.json`
5050

5151
This is the primary configuration file for {% data variables.copilot.copilot_cli_short %}. You can edit it directly in a text editor, or use interactive commands like `/model` and `/theme` to change specific values from within a session. The file supports JSON with comments (JSONC).
5252

53+
> [!NOTE]
54+
> The configuration file was renamed from `config.json` to `settings.json`. Existing settings are automatically migrated from `~/.copilot/config.json` on startup.
55+
5356
For the full list of settings and how they interact with repository-level configuration, see [Configuration file settings](#configuration-file-settings) later in this article.
5457

5558
> [!TIP]
@@ -91,7 +94,7 @@ For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-cop
9194

9295
### `hooks/`
9396

94-
Store user-level hook scripts here. These hooks apply to all your sessions. You can also define hooks inline in `config.json` using the `hooks` key. Repository-level hooks (in `.github/hooks/`) are loaded alongside user-level hooks.
97+
Store user-level hook scripts here. These hooks apply to all your sessions. You can also define hooks inline in your user configuration file (`~/.copilot/config.json`) using the `hooks` key. Repository-level hooks (in `.github/hooks/`) are loaded alongside user-level hooks.
9598

9699
For more information, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/use-hooks).
97100

@@ -168,29 +171,29 @@ The `--config-dir` option takes precedence over `COPILOT_HOME`, which in turn ta
168171

169172
| Item | Safe to delete? | Effect |
170173
|------|-----------------|--------|
174+
| `agents/`, `skills/`, `hooks/` | Not recommended | You will lose your personal customizations. Back up first. |
175+
| `copilot-instructions.md`, `instructions/` | Not recommended | You will lose your personal custom instructions. Back up first. |
176+
| `installed-plugins/` | Not recommended | Use `copilot plugin uninstall` instead, to ensure plugin metadata in `settings.json` stays consistent. |
171177
| `logs/` | Yes | Log files are re-created each session. Deleting them has no functional impact. |
178+
| `lsp-config.json` | Not recommended | You will lose your user-level LSP server definitions. Back up first. |
179+
| `mcp-config.json` | Not recommended | You will lose your user-level MCP server definitions. Back up first. |
180+
| `permissions-config.json` | With caution | Resets all saved permissions. The CLI will prompt you again for tool and directory approvals. |
172181
| `plugin-data/` | Yes | Plugin persistent data is re-created as needed. |
173182
| `session-state/` | With caution | Deleting removes session history. You will no longer be able to resume past sessions. |
174183
| `session-store.db` | With caution | Deleting removes cross-session data. The file is re-created automatically. |
175-
| `config.json` | With caution | Resets all configuration to defaults. You will need to reconfigure your preferences and re-authenticate. |
176-
| `permissions-config.json` | With caution | Resets all saved permissions. The CLI will prompt you again for tool and directory approvals. |
177-
| `installed-plugins/` | Not recommended | Use `copilot plugin uninstall` instead, to ensure plugin metadata in `config.json` stays consistent. |
178-
| `mcp-config.json` | Not recommended | You will lose your user-level MCP server definitions. Back up first. |
179-
| `lsp-config.json` | Not recommended | You will lose your user-level LSP server definitions. Back up first. |
180-
| `copilot-instructions.md`, `instructions/` | Not recommended | You will lose your personal custom instructions. Back up first. |
181-
| `agents/`, `skills/`, `hooks/` | Not recommended | You will lose your personal customizations. Back up first. |
184+
| `settings.json` | With caution | Resets all configuration to defaults. You will need to reconfigure your preferences and re-authenticate. |
182185

183186
## Configuration file settings
184187

185188
Settings cascade from user to repository to local, with more specific scopes overriding more general ones. Command-line options and environment variables always take the highest precedence.
186189

187190
| Scope | Location | Purpose |
188191
|-------|----------|---------|
189-
| User | `~/.copilot/config.json` | Global defaults for all repositories. Use the `COPILOT_HOME` environment variable to specify an alternative path. |
192+
| User | `~/.copilot/settings.json` | Global defaults for all repositories. Use the `COPILOT_HOME` environment variable to specify an alternative path. |
190193
| Repository | `.github/copilot/settings.json` | Shared repository configuration (committed to the repository). |
191194
| Local | `.github/copilot/settings.local.json` | Personal overrides (add this to `.gitignore`). |
192195

193-
### User settings (`~/.copilot/config.json`)
196+
### User settings (`~/.copilot/settings.json`)
194197

195198
These settings apply across all your sessions and repositories. You can edit this file directly, or use slash commands to update individual values.
196199

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,12 @@ copilot -p "Fix the race condition in the worker pool" \
119119
120120
Alternatively, you can set the `COPILOT_MODEL` environment variable to specify a model for the duration of the shell session.
121121

122-
To persist a model selection across shell sessions, you can set the `model` key in the CLI configuration file. This file is located at `~/.copilot/config.json` (or `$COPILOT_HOME/.copilot/config.json` if you have set the `COPILOT_HOME` environment variable). Some models also allow you to set a reasoning effort level, which controls how much time the model spends thinking before responding.
122+
To persist a model selection across shell sessions, you can set the `model` key in the CLI configuration file. This file is located at `~/.copilot/settings.json` (or `$COPILOT_HOME/settings.json` if you have set the `COPILOT_HOME` environment variable). Some models also allow you to set a reasoning effort level, which controls how much time the model spends thinking before responding.
123123

124124
```json copy
125125
{
126126
"model": "gpt-5.3-codex",
127-
"reasoning_effort": "low"
127+
"effortLevel": "low"
128128
}
129129
```
130130

@@ -138,7 +138,7 @@ When determining which model to use for a given prompt, the CLI checks for model
138138
* Where a custom agent is used: the model specified in the custom agent definition (if any).
139139
* The `--model` command line option.
140140
* The `COPILOT_MODEL` environment variable.
141-
* The `model` key in the configuration file (`~/.copilot/config.json` or `$COPILOT_HOME/.copilot/config.json`).
141+
* The `model` key in the configuration file (`~/.copilot/settings.json` or `$COPILOT_HOME/settings.json`).
142142
* The CLI's default model.
143143

144144
## Using custom agents

0 commit comments

Comments
 (0)