Skip to content

Commit 3d22967

Browse files
Copilot App supports managed-settings.json (#62353)
Co-authored-by: Laura Coursen <lecoursen@github.com>
1 parent 3d8d3e3 commit 3d22967

4 files changed

Lines changed: 34 additions & 26 deletions

File tree

content/copilot/concepts/agents/about-enterprise-plugin-standards.md

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,22 @@ redirect_from:
1515
- /copilot/concepts/agents/copilot-cli/about-enterprise-plugin-standards
1616
---
1717

18-
> [!NOTE] This feature is in {% data variables.release-phases.public_preview %} and subject to change.
19-
20-
Enterprise-managed plugin standards allow administrators to **define and enforce policies for plugin availability**. By configuring a `{% data variables.copilot.managed_setting_file %}` file in the enterprise's `.github-private` repository, administrators can specify which plugin marketplaces are available to users and which plugins are installed automatically.
18+
Enterprise-managed plugin standards allow administrators to **define and enforce policies for plugin availability**. By configuring a `{% data variables.copilot.managed_setting_file %}` file, administrators can specify which plugin marketplaces are available to users and which plugins are installed automatically.
2119

2220
## Where plugin standards apply
2321

24-
Plugin standards apply to all users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, across the following clients:
25-
26-
* **{% data variables.copilot.copilot_cli_short %} and {% data variables.copilot.copilot_cloud_agent %}**: see [AUTOTITLE](/copilot/concepts/agents/about-plugins)
27-
* **{% data variables.product.prodname_vscode_shortname %}** (version 1.122 and later): see [Agent plugins in {% data variables.product.prodname_vscode_shortname %}](https://code.visualstudio.com/docs/agent-customization/agent-plugins) in the {% data variables.product.prodname_vscode_shortname %} documentation
22+
Plugin standards apply to all users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, across supported clients. See [AUTOTITLE](/copilot/reference/enterprise-managed-settings-reference#supported-keys).
2823

2924
Users must upgrade to a supported client version for these standards to be applied.
3025

3126
## How plugin standards work
3227

33-
Enterprise plugin standards use a configuration file stored in your enterprise's `.github-private` repository. The configuration is defined in a `{% data variables.copilot.managed_setting_file %}` file at the following path: `copilot/{% data variables.copilot.managed_setting_file %}`. The legacy file path of `.github/copilot/settings.json` is also supported.
34-
35-
For plugin standards, the file can define:
28+
For plugin standards, the `{% data variables.copilot.managed_setting_file %}` file can define:
3629

3730
* **Known marketplaces**. Plugin marketplaces that are available to users for browsing and installing plugins.
3831
* **Default-enabled plugins**. Specific plugins that are automatically installed when users authenticate.
3932

40-
When a user authenticates to {% data variables.product.prodname_copilot_short %} in a supported client, the client queries an API endpoint that reads the `{% data variables.copilot.managed_setting_file %}` file. The policies defined in the file are then applied to the user's session.
33+
When a user authenticates to {% data variables.product.prodname_copilot_short %} in a supported client, the client queries the `{% data variables.copilot.managed_setting_file %}` file. The policies defined in the file are then applied to the user's session.
4134

4235
## Why use enterprise-managed plugin standards
4336

content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,13 @@ category:
1515
- Manage Copilot for a team
1616
---
1717

18-
With enterprise managed settings, enterprise owners can centrally define and distribute configuration settings to {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %} for users on your enterprise's {% data variables.product.prodname_copilot_short %} plan, ensuring every member works within the same guardrails. Additional client support will follow.
18+
With enterprise managed settings, enterprise owners can centrally define and distribute configuration settings to supported clients for users on your enterprise's {% data variables.product.prodname_copilot_short %} plan, ensuring every member works within the same guardrails.
19+
20+
Supported clients are:
21+
22+
* {% data variables.copilot.copilot_cli_short %}
23+
* {% data variables.product.prodname_vscode_shortname %}
24+
* The {% data variables.copilot.github_copilot_app %}
1925

2026
These settings apply enterprise-wide, with no organization-level override. For each supported key, the `{% data variables.copilot.managed_setting_file %}` value takes precedence over any file-based configuration a user sets in their client.
2127

content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Tailor the {% data variables.copilot.github_copilot_app %} to your workflows so
1818

1919
## Setting global and repository instructions
2020

21-
You can set global instructions in the app settings under **General**.
21+
You can set global instructions in the app settings under **General**.
2222

2323
You can set repository-specific instructions in the app settings, under the repository name in the "Projects" section.
2424

@@ -53,3 +53,9 @@ For more information, see [AUTOTITLE](/copilot/concepts/agents/about-plugins).
5353
## Working with canvas extensions
5454

5555
Use canvas extensions to build shared, agent-driven artifacts and interfaces for team or personal workflows. In a session, use `/create-canvas` to scaffold a canvas extension, then iterate on the canvas with the agent. For more information, see [AUTOTITLE](/copilot/how-tos/github-copilot-app/working-with-canvas-extensions).
56+
57+
## Organization and enterprise management
58+
59+
Enterprise and organization owners can set policies to govern how {% data variables.product.prodname_copilot_short %} is used across surfaces. For the major policies supported by the {% data variables.copilot.github_copilot_app %}, see [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies).
60+
61+
Enterprises can also define a `{% data variables.copilot.managed_setting_file %}` file to control which actions users can take in supported {% data variables.product.prodname_copilot_short %} clients, such as which plugins users can install and whether "YOLO-style" commands are permitted. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings).

content/copilot/reference/enterprise-managed-settings-reference.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ category:
1111

1212
Use this reference to understand the currently supported keys in `{% data variables.copilot.managed_setting_file %}`.
1313

14-
For deployment methods, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings#choosing-a-deployment-method).
14+
For deployment methods and supported clients, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings).
1515

1616
## Precedence rules
1717

@@ -26,14 +26,14 @@ When multiple settings sources are present, settings earlier in this list take p
2626

2727
{% rowheaders %}
2828

29-
| Key | Type | Accepted values | Purpose |
30-
| --- | --- | --- | --- |
31-
| `permissions.disableBypassPermissionsMode` | `string` | `"disable"` | Disables bypass or YOLO-style allow-all behavior |
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 |
35-
| `strictKnownMarketplaces` | `array` | Array of marketplace objects; supported source types: `"github"`, `"git"`, `"url"`, `"npm"`, `"file"`, `"directory"`, `"hostPattern"`, `"pathPattern"` | Restricts plugin installation to explicitly listed marketplaces |
36-
| `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 %} |
29+
| Key | Purpose | {% data variables.copilot.copilot_cli_short %} | {% data variables.product.prodname_vscode_shortname %} | {% data variables.copilot.github_copilot_app %} |
30+
| --- | --- | --- | --- | --- |
31+
| `permissions.disableBypassPermissionsMode` | Disables bypass or YOLO-style allow-all behavior | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
32+
| `permissions.model` | Sets auto model selection as the default for new conversations | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
33+
| `enabledPlugins` | Enables or disables specific plugins by key | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
34+
| `extraKnownMarketplaces` | Adds plugin marketplaces that users can access | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
35+
| `strictKnownMarketplaces` | Restricts plugin installation to explicitly listed marketplaces | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} |
36+
| `telemetry` | Configures OpenTelemetry export, routing {% data variables.product.prodname_copilot_short %} usage data to a collector of your choice | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
3737

3838
{% endrowheaders %}
3939

@@ -112,23 +112,26 @@ Restricts plugin installation to only the marketplaces explicitly defined by the
112112

113113
### `disableBypassPermissionsMode`
114114

115-
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.
115+
Prevents users from enabling bypass mode (also known as "YOLO mode"). Bypass mode lets an agent run commands, access files, and fetch URLs without asking for approval.
116116

117-
When you set `disableBypassPermissionsMode` to `"disable"`, users cannot turn on bypass mode in either client:
117+
When you set `disableBypassPermissionsMode` to `"disable"`, users cannot turn on bypass mode:
118118

119119
* 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.
120+
* In {% data variables.product.prodname_vscode_shortname %}, the global auto-approve setting (`chat.tools.global.autoApprove`) is turned off and cannot be re-enabled.
121+
* In the {% data variables.copilot.github_copilot_app %}, the "Allow all" setting for "Tool Permissions" is blocked in the sessions settings.
121122

122123
### `model`
123124

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+
Sets auto model selection as the default for new conversations. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection).
125126

126127
When you set `permissions.model` to `"auto"`, new sessions use Auto model unless the user specifies a different model on a per-conversation basis.
127128

128129
## `telemetry`
129130

130131
Configures OpenTelemetry export, routing {% data variables.product.prodname_copilot_short %} usage data to a collector of your choice.
131132

133+
This property is supported for {% data variables.copilot.copilot_cli_short %} and {% data variables.product.prodname_vscode_shortname %}.
134+
132135
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:
133136

134137
* `enabled`: Set to `true` to turn on telemetry export, or `false` to turn it off.

0 commit comments

Comments
 (0)