You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tidy up enterprise managed-settings.json docs (#62197)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com>
Copy file name to clipboardExpand all lines: content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md
+4-115Lines changed: 4 additions & 115 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,10 @@ These settings apply enterprise-wide, with no organization-level override. For e
21
21
22
22
Managed settings are loaded locally when the client starts, even if the device has no network connection. This means controls such as disabled bypass mode and restricted plugin configuration still apply before sign in or any server round trip, and remain active when users switch accounts.
23
23
24
+
## Defining settings
25
+
26
+
For detailed information on the available properties and syntax, see [AUTOTITLE](/copilot/reference/enterprise-managed-settings-reference).
27
+
24
28
## Choosing a deployment method
25
29
26
30
There are multiple ways to deploy enterprise managed settings. Use the following guidelines to choose the right method for you. For any method, pilot on a small device group before broad deployment.
@@ -55,121 +59,6 @@ There are multiple ways to deploy enterprise managed settings. Use the following
55
59
1. Ask users to restart supported clients so the updated policy is loaded at startup.
56
60
1. Confirm the settings took effect. See [Verifying the configuration has applied](#verifying-the-configuration-has-applied).
57
61
58
-
## Consolidated schema reference
59
-
60
-
The `{% data variables.copilot.managed_setting_file %}` file supports the following top-level properties. You can include any combination of these properties based on which settings you want to enforce.
61
-
62
-
```json copy
63
-
{
64
-
"extraKnownMarketplaces": {
65
-
"agent-skills": {
66
-
"source": {
67
-
"source": "github",
68
-
"repo": "OWNER/REPO"
69
-
}
70
-
}
71
-
},
72
-
"strictKnownMarketplaces": [
73
-
{
74
-
"source": "github",
75
-
"repo": "OWNER/REPO"
76
-
}
77
-
],
78
-
"enabledPlugins": {
79
-
"PLUGIN-NAME@MARKETPLACE-NAME": true
80
-
},
81
-
"permissions": {
82
-
"disableBypassPermissionsMode": "disable"
83
-
},
84
-
"model": "auto"
85
-
}
86
-
```
87
-
88
-
*`extraKnownMarketplaces`: Defines additional plugin marketplaces available to users. Each entry is a named marketplace object containing a `source` property that specifies the provider (`"github"`) and the repository in `OWNER/REPO` format.
89
-
*`strictKnownMarketplaces`: Restricts plugin installation to only the marketplaces explicitly defined by the enterprise. Each entry is a marketplace object containing a `source` property. The `source` specifies the provider as either `"github"` with a `repo` in `OWNER/REPO` format, or `"git"` with a `url` pointing to a git repository.
90
-
*`enabledPlugins`: Defines plugins that are automatically installed for all enterprise users. Each entry uses the format `PLUGIN-NAME@MARKETPLACE-NAME` as the key, with a boolean value of `true` to enable the plugin.
91
-
*`permissions`: Controls whether users can bypass command approval. Set `disableBypassPermissionsMode` to `"disable"` to prevent users from turning on bypass mode. See [Disabling bypass mode for your enterprise](#disabling-bypass-mode-for-your-enterprise) further in this article for more information.
92
-
*`model`: Controls default model governance settings. Set to `"auto"` so new conversations start with Copilot auto model selection by default. Users can still switch to a different model on a per-conversation basis.
93
-
94
-
## Configuring enterprise plugin standards
95
-
96
-
You can apply settings to control users' available plugin marketplaces and default-installed plugins. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards).
97
-
98
-
{% data reusables.copilot.create-managed-settings %}
99
-
1. Add the `extraKnownMarketplaces`, `strictKnownMarketplaces`, and `enabledPlugins` properties you need to the file. See the example and property descriptions in [Consolidated schema reference](#consolidated-schema-reference). Merge these properties into an existing file rather than overwriting it, so you don't remove settings configured for other policies, such as `permissions`.
100
-
101
-
```json copy
102
-
{
103
-
"extraKnownMarketplaces": {
104
-
"agent-skills": {
105
-
"source": {
106
-
"source": "github",
107
-
"repo": "OWNER/REPO"
108
-
}
109
-
}
110
-
},
111
-
"strictKnownMarketplaces": [
112
-
{
113
-
"source": "github",
114
-
"repo": "OWNER/REPO"
115
-
}
116
-
],
117
-
"enabledPlugins": {
118
-
"PLUGIN-NAME@MARKETPLACE-NAME": true
119
-
}
120
-
}
121
-
```
122
-
123
-
1. Commit and push your changes to the default branch of the `.github-private` repository.
124
-
125
-
## Setting {% data variables.product.prodname_copilot_short %} auto model selection as the default
126
-
127
-
You can set auto model selection as the default model for new conversations in {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %}. To learn more see [AUTOTITLE](/copilot/concepts/models/auto-model-selection). By setting it as the default for your enterprise, you ensure new conversations start with Auto model selected.
128
-
129
-
### What setting Auto model as the default does
130
-
131
-
When you `model` to `"auto"`, new conversations start with Auto model selected in both clients:
132
-
133
-
* In {% data variables.copilot.copilot_cli_short %}, new sessions use Auto model unless the user specifies a different model.
134
-
* In {% data variables.product.prodname_vscode_shortname %}, the model picker defaults to Auto model when a user starts a new conversation.
135
-
136
-
Users can still switch to a different model on a per-conversation basis.
137
-
138
-
### Configuring the setting
139
-
140
-
{% data reusables.copilot.create-managed-settings %}
141
-
1. Add the `model` property to the file, set to `"auto"`.
142
-
143
-
```json copy
144
-
{
145
-
"model": "auto"
146
-
}
147
-
```
148
-
149
-
## Disabling bypass mode for your enterprise
150
-
151
-
You can prevent users from enabling bypass mode (also known as "YOLO mode") in {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %}. Bypass mode lets an agent run commands, access files, and fetch URLs without asking for approval. By disabling it for your enterprise, you ensure that a person reviews each of these actions.
152
-
153
-
### What disabling bypass mode prevents
154
-
155
-
When you set `disableBypassPermissionsMode` to `"disable"`, users cannot turn on bypass mode in either client:
156
-
157
-
* In {% data variables.copilot.copilot_cli_short %}, the `--yolo`, `--allow-all`, `--allow-all-tools`, `--allow-all-paths`, and `--allow-all-urls` command-line options and the `/yolo` and `/allow-all` slash commands are blocked.
158
-
* In {% data variables.product.prodname_vscode_shortname %}, the global auto-approve setting (`chat.tools.global.autoApprove`), also known as "YOLO mode," is turned off and cannot be re-enabled.
159
-
160
-
### Configuring the setting
161
-
162
-
{% data reusables.copilot.create-managed-settings %}
163
-
1. Add the `permissions` property to the file, with `disableBypassPermissionsMode` set to `"disable"`. If the file already has a `permissions` object (for example, from other permission settings), merge this key into it rather than replacing the object.
164
-
165
-
```json copy
166
-
{
167
-
"permissions": {
168
-
"disableBypassPermissionsMode": "disable"
169
-
}
170
-
}
171
-
```
172
-
173
62
## Verifying the configuration has applied
174
63
175
64
Once the configuration is committed, users on a supported client see the specified settings within about an hour, since clients periodically check the server for updated configuration. Restarting the client or signing in again applies the latest settings immediately.
Copy file name to clipboardExpand all lines: content/copilot/reference/copilot-cli-reference/cli-command-reference.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1008,6 +1008,8 @@ OTel is off by default with zero overhead. It activates when any of the followin
1008
1008
*`OTEL_EXPORTER_OTLP_ENDPOINT` is set
1009
1009
*`COPILOT_OTEL_FILE_EXPORTER_PATH` is set
1010
1010
1011
+
OTel configuration can also be set in {% data variables.product.prodname_vscode_shortname %}, or in an enterprise-wide `{% data variables.copilot.managed_setting_file %}` file. See [Enable OTel monitoring](https://code.visualstudio.com/docs/agents/guides/monitoring-agents#_enable-otel-monitoring) in the {% data variables.product.prodname_vscode_shortname %} documentation and [AUTOTITLE](/copilot/reference/enterprise-managed-settings-reference).
Copy file name to clipboardExpand all lines: content/copilot/reference/enterprise-managed-settings-reference.md
+69-17Lines changed: 69 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,36 +9,31 @@ category:
9
9
- Configure Copilot
10
10
---
11
11
12
-
> [!NOTE]
13
-
> This feature is in {% data variables.release-phases.public_preview %} and subject to change.
14
-
15
12
Use this reference to understand the currently supported keys in `{% data variables.copilot.managed_setting_file %}`.
16
13
17
14
For deployment methods, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings#choosing-a-deployment-method).
18
15
19
16
## Precedence rules
20
17
21
-
When multiple settings sources are present, clients apply settings in this order:
18
+
When multiple settings sources are present, settings earlier in this list take precedence over settings later in the list:
22
19
23
-
1. Server-managed settings
24
20
1. MDM-managed settings
21
+
1. Server-managed settings
25
22
1. File-based settings
26
23
1. User-level settings
27
24
28
-
MDM-managed settings take precedence. If MDM-managed settings are not available, clients apply server-managed settings before file-based settings.
29
-
30
25
## Supported keys
31
26
32
27
{% rowheaders %}
33
28
34
29
| Key | Type | Accepted values | Purpose |
35
30
| --- | --- | --- | --- |
36
31
|`permissions.disableBypassPermissionsMode`|`string`|`"disable"`| Disables bypass or YOLO-style allow-all behavior |
37
-
|`enabledPlugins`|`object`|Key format: `PLUGIN-NAME@MARKETPLACE-NAME`; value: `true`| Enables specific plugins by key |
38
-
|`extraKnownMarketplaces`|`object`|Named marketplace object with `source.source` (`"github"`) and `source.repo` (`OWNER/REPO`) |Adds plugin marketplaces that users can access|
39
-
|`strictKnownMarketplaces`|`array`|Array of marketplace objects with `source` values (`"github"` with `repo`, or `"git"` with `url`)|Restricts plugin installation to explicitly listed marketplaces|
40
-
|`model`|`object`|`default` set to a supported model name | Defines default model governance settings|
41
-
|`telemetry`|`object`|`enabled` (`boolean`), `endpoint` (`string`), `protocol` (`"otlp-http"` or `"otlp-grpc"`), `captureContent` (`boolean`), `lockCaptureContent` (`boolean`), `serviceName` (`string`), `resourceAttributes` (`object`), `headers` (`object`) | Configures OpenTelemetry export for {% data variables.product.prodname_vscode_shortname %} |
32
+
|`permissions.model`|`string`|`"auto"`| Sets auto model selection as the default for new conversations|
33
+
|`enabledPlugins`|`object`|Key format: `PLUGIN-NAME@MARKETPLACE-NAME`; value: `true` (enable) or `false` (disable) |Enables or disables specific plugins by key|
34
+
|`extraKnownMarketplaces`|`object`|Named marketplace objects; supported source types: `"github"`, `"git"`, `"directory"`|Adds plugin marketplaces that users can access|
|`telemetry`|`object`|`enabled` (`boolean`), `endpoint` (`string`), `protocol` (`"http/json"` or `"http/protobuf"`), `captureContent` (`boolean`), `lockCaptureContent` (`boolean`), `serviceName` (`string`), `resourceAttributes` (`object`), `headers` (`object`) | Configures OpenTelemetry export for {% data variables.product.prodname_vscode_shortname %} |
42
37
43
38
{% endrowheaders %}
44
39
@@ -49,7 +44,8 @@ The following example shows these keys in one managed settings file.
49
44
```json
50
45
{
51
46
"permissions": {
52
-
"disableBypassPermissionsMode": "disable"
47
+
"disableBypassPermissionsMode": "disable",
48
+
"model": "auto"
53
49
},
54
50
"enabledPlugins": {
55
51
"my-plugin@agent-skills": true
@@ -68,13 +64,10 @@ The following example shows these keys in one managed settings file.
68
64
"repo": "OWNER/REPO"
69
65
}
70
66
],
71
-
"model": {
72
-
"default": "MODEL-NAME"
73
-
},
74
67
"telemetry": {
75
68
"enabled": true,
76
69
"endpoint": "https://otel-collector.example.com",
77
-
"protocol": "otlp-http",
70
+
"protocol": "http/protobuf",
78
71
"captureContent": false,
79
72
"lockCaptureContent": true,
80
73
"serviceName": "copilot",
@@ -87,3 +80,62 @@ The following example shows these keys in one managed settings file.
87
80
}
88
81
}
89
82
```
83
+
84
+
## `enabledPlugins`
85
+
86
+
Defines plugins that are automatically installed or blocked for all enterprise users. Each entry uses the format `PLUGIN-NAME@MARKETPLACE-NAME` as the key, with a boolean value: `true` to require the plugin to be enabled, or `false` to require it to be disabled. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards).
87
+
88
+
## `extraKnownMarketplaces`
89
+
90
+
Defines additional plugin marketplaces available to users. Each entry is a named marketplace object containing a `source` property. The following source types are supported:
91
+
92
+
*`"github"` — requires `repo` in `OWNER/REPO` format; optional `ref` (branch, tag, or SHA) and `path` (subdirectory)
93
+
*`"git"` — requires `url`; optional `ref` and `path`
94
+
*`"directory"` — requires `path`
95
+
96
+
See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards).
97
+
98
+
## `strictKnownMarketplaces`
99
+
100
+
Restricts plugin installation to only the marketplaces explicitly defined by the enterprise. An empty array means complete lockdown. Each entry is a marketplace object with a `source` property indicating the source type. The following source types are supported:
101
+
102
+
*`"github"` — requires `repo` in `OWNER/REPO` format; optional `ref` and `path`
103
+
*`"git"` — requires `url`; optional `ref` and `path`
Prevents users from enabling bypass mode (also known as "YOLO mode") in {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %}. Bypass mode lets an agent run commands, access files, and fetch URLs without asking for approval.
116
+
117
+
When you set `disableBypassPermissionsMode` to `"disable"`, users cannot turn on bypass mode in either client:
118
+
119
+
* In {% data variables.copilot.copilot_cli_short %}, the `--yolo` and `--allow-all` command-line options and the `/yolo` and `/allow-all` slash commands are blocked. Individual flags such as `--allow-all-tools` and `--allow-all-paths` are not blocked.
120
+
* In {% data variables.product.prodname_vscode_shortname %}, the global auto-approve setting (`chat.tools.global.autoApprove`), also known as "YOLO mode," is turned off and cannot be re-enabled.
121
+
122
+
### `model`
123
+
124
+
Sets auto model selection as the default for new conversations in {% data variables.copilot.copilot_cli_short %}. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection).
125
+
126
+
When you set `permissions.model` to `"auto"`, new sessions use Auto model unless the user specifies a different model on a per-conversation basis.
127
+
128
+
## `telemetry`
129
+
130
+
Configures OpenTelemetry export, routing {% data variables.product.prodname_copilot_short %} usage data to a collector of your choice.
131
+
132
+
When you set the `telemetry` property, {% data variables.product.prodname_copilot_short %} telemetry is sent to the endpoint you specify. The following sub-properties are supported:
133
+
134
+
*`enabled`: Set to `true` to turn on telemetry export, or `false` to turn it off.
135
+
*`endpoint`: The URL of your OTLP collector (for example, `https://otel-collector.example.com`).
136
+
*`protocol`: The transport protocol for telemetry export. Accepted values are `"http/json"` and `"http/protobuf"`.
137
+
*`captureContent`: Set to `true` to include prompt and response content in the telemetry payload, or `false` to exclude it.
138
+
*`lockCaptureContent`: Set to `true` to prevent users from changing the `captureContent` setting.
139
+
*`serviceName`: A label for the telemetry service name (for example, `"copilot"`).
140
+
*`resourceAttributes`: An object of OpenTelemetry resource attributes to attach to all exported telemetry (for example, `{"deployment.environment": "production"}`).
141
+
*`headers`: An object of HTTP headers to include with each telemetry request (for example, an `Authorization` header for your collector).
Copy file name to clipboardExpand all lines: src/content-pipelines/config.yml
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ copilot-cli:
34
34
All information relating to files in the ~/.copilot configuration directory, and settings in those files, should go in content/copilot/reference/copilot-cli-reference/cli-config-dir-reference.md.
35
35
All reference details relating to hooks should go in content/copilot/reference/hooks-reference.md.
36
36
All other CLI topics (MCP, skills, agents, permissions, etc.) belong in content/copilot/reference/copilot-cli-reference/cli-command-reference.md even when they mention plugins.
37
+
Do not overwrite the paragraph starting "OTel configuration can also be set in..." in cli-command-reference.md
0 commit comments