From f069309affcd1ad8d428e513cbb75e362819c9bf Mon Sep 17 00:00:00 2001
From: Sarita Iyer <66540150+saritai@users.noreply.github.com>
Date: Mon, 3 Aug 2026 16:38:00 -0400
Subject: [PATCH 1/7] Add GitHub Copilot app references for slash commands and
built-ins (#62437)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: 505eb85f-6108-4568-98f9-6062b03f8954
---
.../github-copilot-app/agent-sessions.md | 2 +
.../customize-github-copilot-app.md | 3 +
.../github-copilot-app/getting-started.md | 3 +-
.../built-in-skills.md | 33 +++++++++
.../github-copilot-app-reference/index.md | 11 +++
.../slash-commands.md | 74 +++++++++++++++++++
content/copilot/reference/index.md | 1 +
7 files changed, 126 insertions(+), 1 deletion(-)
create mode 100644 content/copilot/reference/github-copilot-app-reference/built-in-skills.md
create mode 100644 content/copilot/reference/github-copilot-app-reference/index.md
create mode 100644 content/copilot/reference/github-copilot-app-reference/slash-commands.md
diff --git a/content/copilot/how-tos/github-copilot-app/agent-sessions.md b/content/copilot/how-tos/github-copilot-app/agent-sessions.md
index 72fd90d0bab8..0966bcdab42e 100644
--- a/content/copilot/how-tos/github-copilot-app/agent-sessions.md
+++ b/content/copilot/how-tos/github-copilot-app/agent-sessions.md
@@ -25,6 +25,8 @@ Each session in the {% data variables.copilot.github_copilot_app %} runs in its
The agent starts working. Your active sessions appear in the sidebar grouped by repository—click any session to switch to it.
+For a list of commands you can use in the prompt box, see [AUTOTITLE](/copilot/reference/github-copilot-app-reference/slash-commands).
+
## Choosing a session mode
The session mode controls how much autonomy the agent has. You can set the mode from the dropdown below the prompt field and change it at any time.
diff --git a/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md b/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md
index 13d77af0c8d2..6c935a181dea 100644
--- a/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md
+++ b/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md
@@ -28,12 +28,15 @@ Agent skills are folders of instructions, scripts, and resources that {% data va
For more information about agent skills, see [AUTOTITLE](/copilot/concepts/agents/about-agent-skills).
+For a {% data variables.product.github %}-provided built-in skills reference, see [AUTOTITLE](/copilot/reference/github-copilot-app-reference/built-in-skills).
+
## Configuring MCP servers
MCP servers connect the agent to external tools and data sources. Any MCP servers configured for your repositories or {% data variables.product.prodname_copilot_short %} CLI are automatically available in the {% data variables.copilot.github_copilot_app %}. You can also add and manage additional MCP servers in the app settings under **MCP Servers**. The app includes a catalog of popular servers, or you can add a custom server.
For more information about MCP, see [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers).
+
## Using custom agents
{% data variables.copilot.custom_agents_caps_short %} are specialized versions of {% data variables.copilot.copilot_cloud_agent %} that you can tailor to specific tasks and workflows.
diff --git a/content/copilot/how-tos/github-copilot-app/getting-started.md b/content/copilot/how-tos/github-copilot-app/getting-started.md
index b5cd459a38fe..0cf581b6260f 100644
--- a/content/copilot/how-tos/github-copilot-app/getting-started.md
+++ b/content/copilot/how-tos/github-copilot-app/getting-started.md
@@ -90,4 +90,5 @@ Find out more about using the {% data variables.copilot.github_copilot_app %}:
* [AUTOTITLE](/copilot/how-tos/github-copilot-app/working-with-canvas-extensions)
* [AUTOTITLE](/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests)
* [AUTOTITLE](/copilot/how-tos/github-copilot-app/using-automations)
-* [AUTOTITLE](/copilot/how-tos/github-copilot-app/open-with-deep-links)
+* [AUTOTITLE](/copilot/reference/github-copilot-app-reference/slash-commands)
+* [AUTOTITLE](/copilot/reference/github-copilot-app-reference/built-in-skills)
diff --git a/content/copilot/reference/github-copilot-app-reference/built-in-skills.md b/content/copilot/reference/github-copilot-app-reference/built-in-skills.md
new file mode 100644
index 000000000000..6399f9e224ef
--- /dev/null
+++ b/content/copilot/reference/github-copilot-app-reference/built-in-skills.md
@@ -0,0 +1,33 @@
+---
+title: Built-in skills for the GitHub Copilot app
+shortTitle: Built-in skills
+allowTitleToDifferFromFilename: true
+intro: 'Use this reference to find built-in agent skills available in the {% data variables.copilot.github_copilot_app %}.'
+product: '{% data reusables.gated-features.github-app %}
Download {% data variables.copilot.github_copilot_app %} {% octicon "link-external" height:16 %}'
+versions:
+ feature: copilot
+contentType: reference
+category:
+ - Author and optimize with Copilot
+---
+
+This page lists {% data variables.product.github %}-provided built-in agent skills for the {% data variables.copilot.github_copilot_app %}. It does not list agent skills from plugins, repositories, organizations, or personal customizations.
+
+## Built-in skills in the {% data variables.copilot.github_copilot_app %}
+
+Some built-in skills are available as slash commands. When available in your current context, you can run them by typing `/` in the prompt box, for example `/orchestrate`. Other built-in skills may run automatically as part of specific app workflows or when you mention a relevant task in your prompt.
+
+| Skill ID | When to use |
+| --- | --- |
+| `af` | Find installable MCP servers, tools, skills, and agents by searching ARD Agent Finder. Invoke this skill with `/af`. See [AUTOTITLE](/copilot/concepts/context/mcp#agent-finder). |
+| `agent-merge` | Follow up on review comments, failing checks, and merge conflicts after agent merge is enabled for a pull request. The agent merge workflow invokes this skill automatically. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/managing-issues-and-pull-requests#merging-a-pull-request). |
+| `create-canvas` | Create and troubleshoot canvas extensions in the app side panel, including actions, inputs, rendered content, and setup. Invoke this skill with `/create-canvas`. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/working-with-canvas-extensions). |
+| `orchestrate` | Coordinate work across sessions and repositories by creating and guiding child sessions. Invoke this skill with `/orchestrate`. |
+| `pr-stack` | Create and manage a stack of dependent pull requests, with one child session for each layer. Invoke this skill with `/pr-stack`. See [AUTOTITLE](/pull-requests/get-started/about-stacked-prs). |
+| `customize-cloud-agent` | Set up the cloud agent environment, including `copilot-setup-steps.yml`, preinstalled tools and dependencies, runners, and settings. The app invokes this skill when your prompt asks to set up or customize the cloud agent environment. |
+
+## Further reading
+
+* [AUTOTITLE](/copilot/reference/github-copilot-app-reference/slash-commands)
+* [AUTOTITLE](/copilot/how-tos/github-copilot-app/customize-github-copilot-app)
+* [AUTOTITLE](/copilot/concepts/agents/about-agent-skills)
diff --git a/content/copilot/reference/github-copilot-app-reference/index.md b/content/copilot/reference/github-copilot-app-reference/index.md
new file mode 100644
index 000000000000..018c32873244
--- /dev/null
+++ b/content/copilot/reference/github-copilot-app-reference/index.md
@@ -0,0 +1,11 @@
+---
+title: '{% data variables.copilot.github_copilot_app %} reference'
+shortTitle: '{% data variables.copilot.github_copilot_app %} reference'
+intro: 'Find reference information for slash commands and {% data variables.product.github %}-provided built-in skills in the {% data variables.copilot.github_copilot_app %}.'
+versions:
+ feature: copilot
+children:
+ - /slash-commands
+ - /built-in-skills
+contentType: reference
+---
diff --git a/content/copilot/reference/github-copilot-app-reference/slash-commands.md b/content/copilot/reference/github-copilot-app-reference/slash-commands.md
new file mode 100644
index 000000000000..ef95e33c8aa7
--- /dev/null
+++ b/content/copilot/reference/github-copilot-app-reference/slash-commands.md
@@ -0,0 +1,74 @@
+---
+title: Slash commands for the GitHub Copilot app
+shortTitle: Slash commands
+allowTitleToDifferFromFilename: true
+intro: 'Use slash commands in the {% data variables.copilot.github_copilot_app %} to switch modes, run common workflows, and manage sessions without writing a long prompt.'
+product: '{% data reusables.gated-features.github-app %}
Download {% data variables.copilot.github_copilot_app %} {% octicon "link-external" height:16 %}'
+versions:
+ feature: copilot
+contentType: reference
+category:
+ - Author and optimize with Copilot
+---
+
+Slash commands are shortcuts you can type in the prompt box. Type `/` to open the command picker, then select a command or keep typing to filter.
+
+Some slash commands invoke skills, such as `/orchestrate` and `/create-canvas`.
+
+Command availability depends on context and can change depending on whether a session has started.
+
+> [!NOTE]
+> This reference covers {% data variables.product.github %}-provided slash commands for the {% data variables.copilot.github_copilot_app %}. The command list can change over time. To see the latest commands available in your current context, type `/` in the app.
+
+## Available slash commands
+
+Some commands require specific context, such as an active session, session changes, or an open pull request. These requirements are noted in the command descriptions.
+
+| Slash command | What it does |
+| --- | --- |
+| `/af` | Finds installable MCP servers, tools, skills, and agents by searching Agent Finder. This slash command is a built-in skill. See [AUTOTITLE](/copilot/concepts/context/mcp#agent-finder). |
+| `/agent` | Selects a {% data variables.copilot.copilot_custom_agent_short %} for the session. See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-custom-agents). |
+| `/allow-all-tools` or `/yolo` | **Requires an active session.** Turns tool auto-approval on or shows its current state. |
+| `/attach-files` | Opens a file picker and attaches files to your message. |
+| `/attach-folder` | Opens a folder picker and attaches a folder to your message. |
+| `/autopilot [PROMPT]` | Switches to **Autopilot** mode and optionally starts execution with a prompt. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#choosing-a-session-mode). |
+| `/chronicle` | Opens session history and analysis features. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#using-chronicle-with-app-sessions). |
+| `/chronicle cost-tips` | Shows suggestions to reduce token usage and cost. |
+| `/chronicle improve` | Suggests improvements for your instructions file. |
+| `/chronicle reindex` | Rebuilds the chronicle session index. |
+| `/chronicle search` | Searches session history by keyword or topic. |
+| `/chronicle standup` | Summarizes your work from the last day. |
+| `/chronicle tips` | Returns personalized workflow tips. |
+| `/clear` or `/reset` | **Requires an active session.** Clears the current transcript and starts a fresh session. |
+| `/collect-debug-logs` | **Requires an active session.** Creates a debug log archive or uploads one as a secret gist. |
+| `/compact` | **Requires an active session.** Summarizes earlier parts of the conversation to reduce token pressure in the session. |
+| `/context` | Shows the current session's context usage details. |
+| `/create-canvas [PROMPT]` | Invokes the canvas-authoring skill. This slash command is a built-in skill. |
+| `/debug` | **Requires an active session.** Copies session debug JSON to your clipboard. |
+| `/export-gist` | **Requires an active session.** Exports the transcript to a secret gist. |
+| `/fleet [PROMPT]` | **Requires an active session.** Launches multiple agents in parallel for one task. |
+| `/fork` | **Requires an active session.** Forks the current session at the latest turn. |
+| `/inbox` | Renders an interactive inbox widget. If no work items are available, the widget is empty. |
+| `/init` | **Requires a repository.** Generates or improves repository instructions. |
+| `/interactive [PROMPT]` | Switches to **Interactive** mode and optionally starts with a prompt. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#choosing-a-session-mode). |
+| `/merge-to-parent` | **Requires a forked session.** Merges a forked session's work back to its parent. |
+| `/model` or `/models [MODEL]` | Opens model selection, or selects a model by name/ID. |
+| `/orchestrate [PROMPT]` | Coordinates work across sessions or repositories. This slash command is a built-in skill. |
+| `/plan [PROMPT]` | Switches to **Plan** mode and optionally starts with a prompt. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#choosing-a-session-mode). |
+| `/pr-fix-checks` | **Requires an open pull request with failing checks.** Runs a prompt to address failing pull request checks. |
+| `/pr-merge` | **Requires a mergeable pull request.** Merges the current pull request. |
+| `/pr-open` | **Requires an active session with changes.** Opens a pull request from current session changes. |
+| `/pr-resolve-comments` | **Requires an open pull request with unresolved review comments.** Runs a prompt to resolve pull request comments. |
+| `/remote` | **Requires an active session.** Enables or manages remote control so you can access the current session from {% data variables.product.prodname_dotcom_the_website %} in a browser or from {% data variables.product.prodname_mobile %}. Availability depends on your organization or enterprise policy. See [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-remote-control). |
+| `/rename` | **Requires an active session.** Renames the current chat or session. |
+| `/research [PROMPT]` | Runs a research workflow and produces a cited report. |
+| `/reset-allowed-tools` | **Requires an active session.** Clears session-level tool approvals and turns auto-approval off. |
+| `/restart-session` | **Requires an active session.** Restarts the current session and keeps its history. |
+| `/review` | **Requires an active session.** Reviews the current session's changes. |
+| `/rubber-duck [PROMPT]` | Requests critique on your approach or implementation by a model other than the one you have used in the session. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#using-the-rubber-duck-agent). |
+| `/security-review` | **Requires an active session with changes.** Runs a security-focused review against current diffs. See [AUTOTITLE](/copilot/how-tos/github-copilot-app/agent-sessions#using-security-review-in-app-sessions). |
+| `/skills` | Manages skills; use `/skills reload` to reload skills mid-session. |
+| `/spar [PROMPT]` | Runs adversarial reasoning to challenge your approach. |
+| `/spawn [PROMPT]` | Creates a focused child session for delegated work. |
+| `/terminal [COMMAND]` | **Requires an active session.** Opens a new terminal in the right panel and can optionally run a command. |
+| `/usage` | Opens usage and rate-limit details for your plan. |
diff --git a/content/copilot/reference/index.md b/content/copilot/reference/index.md
index 48c6ac17b73c..aed53af68bd3 100644
--- a/content/copilot/reference/index.md
+++ b/content/copilot/reference/index.md
@@ -11,6 +11,7 @@ children:
- /copilot-feature-matrix
- /keyboard-shortcuts
- /copilot-cli-reference
+ - /github-copilot-app-reference
- /custom-agents-configuration
- /custom-instructions-support
- /hooks-reference
From 43bf00f82899ef2221acc0a5042dc355d74b28e8 Mon Sep 17 00:00:00 2001
From: Hirsch Singhal <1666363+hpsin@users.noreply.github.com>
Date: Mon, 3 Aug 2026 13:48:11 -0700
Subject: [PATCH 2/7] 3rd party enterprise app installation (#62582)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Laura Coursen
---
.../choosing-permissions-for-a-github-app.md | 12 +++++++-----
.../using-github-apps/about-using-github-apps.md | 2 +-
.../installing-a-github-app-from-a-third-party.md | 2 +-
.../installing-a-github-app-on-your-enterprise.md | 5 ++++-
4 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
index 0da58392950b..ec294bcfbf5d 100644
--- a/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
+++ b/content/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app.md
@@ -25,19 +25,21 @@ category:
Although {% data variables.product.prodname_github_apps %} don't have any permissions by default, they do have implicit permissions to read public resources when acting on behalf of a user. When a user authorizes the app to act on their behalf, the {% data variables.product.prodname_github_app %} can use the resulting user access token to make requests to the REST API and the GraphQL API to read public resources. To learn more about acting on behalf of a user, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user).
-App permissions are classified as repository, organization,{% ifversion enterprise-installed-apps %} enterprise,{% endif %} or account permissions.
+App permissions are classified as repository, organization,{% ifversion fpt or enterprise-installed-apps %} enterprise,{% endif %} or account permissions.
* Repository permissions allow your app to access resources related to repositories that are owned by the account where the app is installed.
* Organization permissions allow your app to access resources related to the organization where the app is installed, if it is installed on an organization account.
-{%- ifversion enterprise-installed-apps %}
+{%- ifversion fpt or enterprise-installed-apps %}
* Enterprise permissions allow the app to manage an enterprise, if it is installed on an enterprise account.{%- endif %}
* Account permissions allow your app to access resources related to a user if the user has also authorized your app. For more information about user authorization of apps, see [AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user).
-{% ifversion enterprise-installed-apps %}
+{% ifversion fpt or enterprise-installed-apps %}
-Enterprise permissions are only available if you are creating the app in an enterprise account or an organization that is enterprise-owned. An app with enterprise permissions must be `public` or `internal` to be installed on an enterprise account. The only enterprise it can be installed on is the enterprise that owns the app or the organization that owns the app, but there are no additional restrictions on which organizations or personal accounts it can be installed on.{% endif %}
+Any user, organization, or enterprise can create an app using any of the permission types. An app with enterprise permissions must be `public` or `internal` to be installed on an enterprise account. A `public` app can be installed by any enterprise, while an `internal` app can only be installed by the enterprise that owns the app or the enterprise of the organization that owns the app. There are no additional restrictions on which organizations or personal accounts an app can be installed on.
-When a user installs an app on their user account or organization, they see and grant the repository and organization permissions that the app requested.{% ifversion enterprise-installed-apps %} When they install it on their enterprise, they see and grant only the enterprise permissions that the app requested. {% endif %} They will also see a list of account permissions that the app can request for individual users. When a user authorizes an app to act on their behalf, they will see and grant the account permissions that the app requested.
+There is one exception to installing an app across enterprises. If an app requests the "Enterprise organization installations" or "Enterprise organization installation repositories" permissions, the only enterprise that can install it is the one that owns the app. You cannot install the app on another enterprise, and you cannot add either permission to an app that is already installed on an enterprise other than the one that owns it.{% endif %}
+
+When a user installs an app on their user account or organization, they see and grant the repository and organization permissions that the app requested.{% ifversion fpt or enterprise-installed-apps %} When they install it on their enterprise, they see and grant only the enterprise permissions that the app requested. {% endif %} They will also see a list of account permissions that the app can request for individual users. When a user authorizes an app to act on their behalf, they will see and grant the account permissions that the app requested.
The success of an API request with a user access token depends on the user's permissions as well as the app's permissions. For example, if the app was granted permission to write the contents of a repository, but the user can only read the contents, then the user access token can only read the contents. The success of an API request with an installation access token only depends on the app's permissions.
diff --git a/content/apps/using-github-apps/about-using-github-apps.md b/content/apps/using-github-apps/about-using-github-apps.md
index 8afc5552981e..69dcb4cbe111 100644
--- a/content/apps/using-github-apps/about-using-github-apps.md
+++ b/content/apps/using-github-apps/about-using-github-apps.md
@@ -17,7 +17,7 @@ category:
## Finding {% data variables.product.prodname_github_apps %}
{% ifversion fpt or ghec %}
-You can discover {% data variables.product.prodname_github_apps %} on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). {% else %}You cannot install third-party applications on your enterprise. If you want to use the functionality of a third-party app, you can contact the app developer about creating an app from a manifest or from URL parameters. For more information, see [AUTOTITLE](/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) and [AUTOTITLE](/apps/sharing-github-apps/registering-a-github-app-using-url-parameters).{% endif %}{% ifversion enterprise-installed-apps %} You cannot install third-party applications on your enterprise account—they must be owned by your enterprise or an organization in your enterprise.{% endif %}
+You can discover {% data variables.product.prodname_github_apps %} on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace). Developers can also share a link to their public app directly, even if it's not in the {% data variables.product.prodname_marketplace %}. {% else %}You cannot install third-party applications on your enterprise. If you want to use the functionality of a third-party app, you can contact the app developer about creating an app from a manifest or from URL parameters. For more information, see [AUTOTITLE](/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) and [AUTOTITLE](/apps/sharing-github-apps/registering-a-github-app-using-url-parameters).{% endif %}{% ifversion enterprise-installed-apps %} On {% data variables.product.prodname_dotcom_the_website %} you can install public apps from any developer on your enterprise, organization, or user account, as long as you trust the developer.{% endif %}
{% data reusables.data-residency.github-marketplace-apps-unsupported %}
diff --git a/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md b/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md
index 8a0ec2e68a57..d0960ae028a3 100644
--- a/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md
+++ b/content/apps/using-github-apps/installing-a-github-app-from-a-third-party.md
@@ -36,7 +36,7 @@ Anyone can install {% data variables.product.prodname_github_apps %} on their pe
Organization owners can install {% data variables.product.prodname_github_apps %} on their organization.{% ifversion enterprise-installed-apps %}
-Enterprise owners can install {% data variables.product.prodname_github_apps %} on their enterprise accounts, if the application requests enterprise permissions and is owned by the enterprise or one of its organizations.
+Enterprise owners can install {% data variables.product.prodname_github_apps %} on their enterprise accounts, if the application requests enterprise permissions. The app can be owned by the enterprise, an organization within the enterprise, or a third-party developer. Third-party apps must be public and cannot request the "Enterprise organization installations" or "Enterprise organization installation repositories" permissions.
{% endif %}
{% data reusables.apps.repo-admin-install-restriction %}
diff --git a/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md b/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md
index a95614d6c0a4..ca83156a11e0 100644
--- a/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md
+++ b/content/apps/using-github-apps/installing-a-github-app-on-your-enterprise.md
@@ -24,7 +24,10 @@ When an enterprise owner installs a {% data variables.product.prodname_github_ap
The {% data variables.product.prodname_github_app %} must request enterprise-level permissions. It can request other permissions as well, but only the enterprise permissions will be granted during installation.
-The app must be owned by your enterprise or an organization within your enterprise. You cannot install apps owned by an account outside your enterprise.
+The app can be owned by your enterprise, by an organization within your enterprise, or by a third-party developer. To install a public app from a third party, use the installation link that the app's developer provides. You cannot install a private app that is owned by an account outside your enterprise.
+
+> [!NOTE]
+> There is one exception to installing a third-party app across enterprises. If an app requests the "Enterprise organization installations" permission, it can only be installed on the enterprise that owns the app. You cannot install this app on your enterprise if it is owned outside your enterprise. In EMU enterprises and GHES, enterprise's users count as being within the enterprise, so their apps can be installed on the enterprise.
## Installing a {% data variables.product.prodname_github_app %} on your enterprise
From fbc6c5453fe282e72f9be9bdf22687b1ee7af37c Mon Sep 17 00:00:00 2001
From: Camilla Moraes
Date: Mon, 3 Aug 2026 23:10:42 +0200
Subject: [PATCH 3/7] Document triage access for restricted issue creation
(#62559)
Copilot-Session: 2ccecaa9-fd91-438d-997c-b05f7512c63d
---
.../disabling-issues.md | 2 +-
data/features/triage-role-restricted-issue-creation.yml | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 data/features/triage-role-restricted-issue-creation.yml
diff --git a/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md b/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md
index 37799f421376..d5af0a9100df 100644
--- a/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md
+++ b/content/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/disabling-issues.md
@@ -25,7 +25,7 @@ If you decide to enable issues again in the future, any issues that were previou
In personal repositories, a collaborator is anyone who has been invited to the repository. For more information, see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/repository-access-and-collaboration/permission-levels-for-a-personal-account-repository#collaborator-access-for-a-repository-owned-by-a-personal-account).
- In organization repositories, a collaborator is a user who has been granted the write, maintain, or admin role for the repository. For more information about organization roles, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#repository-roles-for-organizations).
+ In organization repositories, a collaborator is a user who has been granted the {% ifversion triage-role-restricted-issue-creation %}triage, {% endif %}write, maintain, or admin role for the repository. For more information about organization roles, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization#repository-roles-for-organizations).
{% endif %}
diff --git a/data/features/triage-role-restricted-issue-creation.yml b/data/features/triage-role-restricted-issue-creation.yml
new file mode 100644
index 000000000000..87c4ebace995
--- /dev/null
+++ b/data/features/triage-role-restricted-issue-creation.yml
@@ -0,0 +1,6 @@
+# Reference: https://github.com/github/releases/issues/10322
+# Allow users with the triage role to create issues when issue creation is restricted
+versions:
+ fpt: '*'
+ ghec: '*'
+ ghes: '>=3.23'
From b4411874c938a8318e6de3457316bfcfc5da29ee Mon Sep 17 00:00:00 2001
From: Kevin Heis
Date: Mon, 3 Aug 2026 14:22:36 -0700
Subject: [PATCH 4/7] Fix bash syntax error in stale workflow "Print outputs"
steps (#62531)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ef575637-e1a6-4c62-9165-59e73f9e3046
---
.github/workflows/needs-sme-stale-check.yaml | 5 ++++-
.github/workflows/no-response.yaml | 5 ++++-
.github/workflows/stale.yml | 5 ++++-
.github/workflows/triage-stale-check.yml | 11 ++++-------
4 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/needs-sme-stale-check.yaml b/.github/workflows/needs-sme-stale-check.yaml
index 9163a33da6f4..1ea9dd57f88f 100644
--- a/.github/workflows/needs-sme-stale-check.yaml
+++ b/.github/workflows/needs-sme-stale-check.yaml
@@ -32,7 +32,10 @@ jobs:
days-before-pr-close: -1 # never close
- name: Print outputs
- run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
+ env:
+ STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
+ CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
+ run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
- name: Check out repo
if: ${{ failure() }}
diff --git a/.github/workflows/no-response.yaml b/.github/workflows/no-response.yaml
index ea61071a39d0..040e06aef43a 100644
--- a/.github/workflows/no-response.yaml
+++ b/.github/workflows/no-response.yaml
@@ -63,7 +63,10 @@ jobs:
to describe your changes. Then we can reopen this PR and begin the review process.
- name: Print outputs
- run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
+ env:
+ STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
+ CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
+ run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
- name: Check out repo
if: ${{ failure() }}
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index fcad7134430b..2c7bdd552866 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -35,7 +35,10 @@ jobs:
operations-per-run: 150
- name: Print outputs
- run: echo "Staled PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
+ env:
+ STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
+ CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
+ run: echo "Staled PRs:${STALED}, Closed PRs:${CLOSED}"
- name: Check out repo
if: ${{ failure() }}
diff --git a/.github/workflows/triage-stale-check.yml b/.github/workflows/triage-stale-check.yml
index 48ce1eee5afa..139080ccf61f 100644
--- a/.github/workflows/triage-stale-check.yml
+++ b/.github/workflows/triage-stale-check.yml
@@ -37,12 +37,6 @@ jobs:
stale-pr-label: 'Inactive'
close-pr-label: 'Closed as inactive'
- # Both output options are set true for debugging.
- # The numbers should always match unless we change `days-before-close` from `0`.
-
- staled-issues-prs: true # report issues and PRs that were commented on as stale in the output
- closed-issues-prs: true # report issues and PRs that were closed in the output
-
- name: Check out repo
if: ${{ failure() }}
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -79,7 +73,10 @@ jobs:
stale-pr-label: 'Waiting on Docs team review'
- name: Print outputs
- run: echo "Staled issues/PRs:${{ steps.stale.outputs.staled-issues-prs || '0' }}, Closed issues/PRs:${{ steps.stale.outputs.closed-issues-prs || '0' }}"
+ env:
+ STALED: ${{ steps.stale.outputs.staled-issues-prs || '0' }}
+ CLOSED: ${{ steps.stale.outputs.closed-issues-prs || '0' }}
+ run: echo "Staled issues/PRs:${STALED}, Closed issues/PRs:${CLOSED}"
- name: Check out repo
if: ${{ failure() }}
From 275ddfda48a52c4b231dbd0ce9bae75fa1f3d014 Mon Sep 17 00:00:00 2001
From: Copilot <198982749+Copilot@users.noreply.github.com>
Date: Mon, 3 Aug 2026 17:30:43 -0400
Subject: [PATCH 5/7] docs(copilot): add enterprise team delegation paragraph
to managed settings reference (#62579)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: amrithss <89491847+amrithss@users.noreply.github.com>
Co-authored-by: Melanie Yarbrough <11952755+myarb@users.noreply.github.com>
---
.../enterprise-managed-settings-reference.md | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/content/copilot/reference/enterprise-managed-settings-reference.md b/content/copilot/reference/enterprise-managed-settings-reference.md
index 27df6a47f5c9..733124df00ad 100644
--- a/content/copilot/reference/enterprise-managed-settings-reference.md
+++ b/content/copilot/reference/enterprise-managed-settings-reference.md
@@ -38,6 +38,13 @@ When multiple settings sources are present, settings earlier in this list take p
{% endrowheaders %}
+## Applying different settings to enterprise teams
+
+For server-managed deployments, the enterprise can apply different governance to groups of users based on their enterprise team membership. The enterprise defines all settings—team membership only determines which users receive a given set of values.
+
+To make a key eligible for team-specific values, mark it as overridable in `{% data variables.copilot.managed_setting_file %}` using the `{ "overridable": }` syntax. An overridable key uses the team's value when set, or falls back to your enterprise default when the team leaves it unset. The `{ "overridable": }` syntax applies to the governance keys `permissions.model` and `permissions.disableBypassPermissionsMode`. Keys not marked overridable remain an enterprise-level decision that teams can't modify. `enabledPlugins` and `extraKnownMarketplaces` work additively. The enterprise `{% data variables.copilot.managed_setting_file %}` sets a baseline, and an enterprise team file can add more plugins and marketplaces on top of it. For the full setup steps, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings#overriding-settings-for-specific-teams).
+
+
## Example configuration
The following example shows these keys in one managed settings file.
@@ -124,12 +131,14 @@ When you set `disableBypassPermissionsMode` to `"disable"`, users cannot turn on
* In {% data variables.copilot.copilot_cli_short %}, all of the command line options for allowing all permissions (`--yolo`, `--allow-all`, and the individual `--allow-all-tools`, `--allow-all-paths`, and `--allow-all-urls` options) are suppressed at startup and cannot grant elevated permissions. The `/yolo` and `/allow-all` slash commands are also blocked.
* In {% data variables.product.prodname_vscode_shortname %}, the global auto-approve setting (`chat.tools.global.autoApprove`) is turned off and cannot be re-enabled.
* In the {% data variables.copilot.github_copilot_app %}, the "Allow all" setting for "Tool Permissions" is blocked in the sessions settings.
+* This key is overridable by enterprise team mapping. In your `{% data variables.copilot.managed_setting_file %}`, use the `{ "overridable": "disable" }` syntax to specialize the key's configuration on a per-team basis. You can then set `"disableBypassPermissionsMode": "unmanaged"` in a team settings file, providing a specialization that takes precedence over `{% data variables.copilot.managed_setting_file %}` for members of the subject team.
### `model`
Sets auto model selection as the default for new conversations. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection).
-When you set `permissions.model` to `"auto"`, new sessions use Auto model unless the user specifies a different model on a per-conversation basis.
+* When you set `permissions.model` to `"auto"`, new sessions use Auto model unless the user specifies a different model on a per-conversation basis.
+* This key is overridable by enterprise team mapping. In your `{% data variables.copilot.managed_setting_file %}`, use the `{ "overridable": "auto" }` syntax to specialize the key's configuration on a per-team basis. You can then set `"model": "unmanaged"` in a team settings file, providing a specialization that takes precedence over `{% data variables.copilot.managed_setting_file %}` for members of the subject team.
## `telemetry`
From 239ccc4f6074258eaa0dd7b592995edf5d612ce7 Mon Sep 17 00:00:00 2001
From: Felix Guntrip
Date: Mon, 3 Aug 2026 23:13:40 +0100
Subject: [PATCH 6/7] Managed Settings Overrides for Enterprise Teams (#62088)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: amrithss <89491847+amrithss@users.noreply.github.com>
Co-authored-by: Greg Padak
Co-authored-by: Melanie Yarbrough <11952755+myarb@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
---
.../configure-enterprise-managed-settings.md | 51 +++++++++++++++++--
data/variables/copilot.yml | 2 +
2 files changed, 50 insertions(+), 3 deletions(-)
diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md
index 9d50a60e4349..bf9690089dbf 100644
--- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md
+++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings.md
@@ -15,7 +15,7 @@ category:
- Manage Copilot for a team
---
-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.
+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 guardrails you define, while letting teams tailor the settings you allow.
The following clients are supported, although not every client supports every property:
@@ -24,7 +24,7 @@ The following clients are supported, although not every client supports every pr
* The {% data variables.copilot.github_copilot_app %}
* {% data variables.copilot.copilot_cloud_agent %}
-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.
+These settings apply enterprise-wide and enterprises can customize specific keys to enterprise teams. 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.
Managed settings are loaded locally when the client starts, even if the device has no network connection. This means controls such as suppressing the `allow-all` permission options and restricting plugin configuration still apply before sign in or any server round trip, and remain active when users switch accounts.
@@ -32,6 +32,8 @@ Managed settings are loaded locally when the client starts, even if the device h
For detailed information on the available properties and syntax, see [AUTOTITLE](/copilot/reference/enterprise-managed-settings-reference).
+Use `copilot/{% data variables.copilot.team_mappings_file %}` and the `copilot/{% data variables.copilot.team_settings_directory %}` directory when you need one or more enterprise teams to use settings that differ from the defaults in `copilot/{% data variables.copilot.managed_setting_file %}`. For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings#overriding-settings-for-specific-teams).
+
## Choosing a deployment method
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.
@@ -50,6 +52,47 @@ There are additional considerations if you use a dedicated enterprise for {% dat
1. Commit and push your changes to the default branch.
1. Confirm that enterprise users are running a supported client. Updated settings are applied automatically within about an hour, or immediately after the client restarts or the user signs in again.
+## Overriding settings for specific teams
+
+For server-managed deployments, use `copilot/{% data variables.copilot.team_mappings_file %}` and the `copilot/{% data variables.copilot.team_settings_directory %}` directory when one or more enterprise teams should use settings that differ from your default `copilot/{% data variables.copilot.managed_setting_file %}` values. `enabledPlugins` and `extraKnownMarketplaces` work additively. The enterprise `{% data variables.copilot.managed_setting_file %}` sets a baseline, and an enterprise team file can add more plugins and marketplaces on top of it.
+
+1. In your enterprise's `copilot/{% data variables.copilot.managed_setting_file %}` file, mark each key you want to make eligible for override using the `{ "overridable": }` syntax. The `json` files you map to teams can only send different values for keys you mark overridable. An `overridable` value you provide in `managed-settings.json` is the default when teams files do not declare a different value for a given key.
+For example, to defer both `model` and `disableBypassPermissionsMode`:
+
+ ```json
+ {
+ "model": { "overridable": "auto" },
+ "permissions": {
+ "disableBypassPermissionsMode": { "overridable": "disable" }
+ }
+ }
+ ```
+
+1. In your enterprise's `.github-private` repository, create `copilot/{% data variables.copilot.team_mappings_file %}`. Map each team settings file to one or more enterprise team slugs. The key is the settings file name and the value is an array of team slugs, so you can apply one file across multiple teams.
+
+ ```json
+ {
+ "devs.json": ["developers-all", "finops-dev"],
+ "ai-users.json": ["ai-baseline-trained"],
+ "frontier.json": ["ai-pioneers"]
+ }
+ ```
+
+1. Create the team settings file under `copilot/{% data variables.copilot.team_settings_directory %}`. Include only the keys you marked as overridable. Every other key stays governed by your enterprise default.
+
+ ```json
+ {
+ "model": "unmanaged",
+ "permissions": {
+ "disableBypassPermissionsMode": "unmanaged"
+ }
+ }
+ ```
+
+1. Commit and push your changes to the default branch.
+
+{% data variables.product.prodname_dotcom %} evaluates enterprise team membership and applies matching settings for each person. If a user belongs to multiple teams, their team files are combined using the least restrictive value for each key, then applied beneath the enterprise settings, where platform decisions always win.
+
## Deploying MDM-managed settings
1. Create or update your `{% data variables.copilot.managed_setting_file %}` payload using the same JSON schema used for server-managed settings.
@@ -70,7 +113,9 @@ There are additional considerations if you use a dedicated enterprise for {% dat
## Verifying the configuration has applied
-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.
+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. For server-managed deployments, this includes `copilot/{% data variables.copilot.managed_setting_file %}`, `copilot/{% data variables.copilot.team_mappings_file %}`, and files in `copilot/{% data variables.copilot.team_settings_directory %}`.
+
+ Restarting the client or signing in again applies the latest settings immediately.
If a user does not see these settings, ensure they receive access to {% data variables.product.prodname_copilot_short %} through your enterprise or one of its organizations. If a user receives a license from multiple billing entities, ensure they have selected your enterprise in the "Usage billed to" dropdown in their [personal {% data variables.product.prodname_copilot_short %} settings](https://github.com/settings/copilot/features).
diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml
index 5a910ecd417d..29ef8e8bf24b 100644
--- a/data/variables/copilot.yml
+++ b/data/variables/copilot.yml
@@ -262,3 +262,5 @@ copilot_byok_supported_features: '{% data variables.copilot.copilot_chat_short %
## File for enterprise client management
managed_setting_file: 'managed-settings.json'
+team_mappings_file: 'team-mappings.json'
+team_settings_directory: 'teams/'
From a5846f685eb4844e63b515df7c7c29f505bc58a5 Mon Sep 17 00:00:00 2001
From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
Date: Mon, 3 Aug 2026 15:38:10 -0700
Subject: [PATCH 7/7] Document GPT-5.6 models: comparison task sections, model
cards, and cache write pricing (#62573)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3d652994-a326-4b43-a774-a276c9b8470d
---
.../reference/ai-models/model-comparison.md | 3 +++
.../copilot-billing/models-and-pricing.md | 8 +++++---
data/tables/copilot/model-comparison.yml | 6 +++---
data/tables/copilot/models-and-pricing.yml | 18 +++++++++++++++++-
4 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md
index c254bad3b219..aece1b4d4e8f 100644
--- a/content/copilot/reference/ai-models/model-comparison.md
+++ b/content/copilot/reference/ai-models/model-comparison.md
@@ -39,6 +39,7 @@ Use these models for common development tasks that require a balance of quality,
|---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| {% data variables.copilot.copilot_gpt_53_codex %} | Delivers higher-quality code on complex engineering tasks like features, tests, debugging, refactors, and reviews without lengthy instructions. |
| {% data variables.copilot.copilot_gpt_5_mini %} | Reliable default for most coding and writing tasks. Fast, accurate, and works well across languages and frameworks. |
+| {% data variables.copilot.copilot_gpt_56_terra %} | Balanced all-round choice for everyday interactive and agentic coding. |
| {% data variables.copilot.copilot_raptor_mini %} | Specialized for fast, accurate inline suggestions and explanations. |
| {% data variables.copilot.copilot_mai_code_1_flash %} | Strong instruction-following and adaptive reasoning make it a reliable default for everyday coding tasks, writing, and multi-turn development workflows. |
@@ -63,6 +64,7 @@ These models are optimized for speed and responsiveness. They’re ideal for qui
| Model | Why it's a good fit |
|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
+| {% data variables.copilot.copilot_gpt_56_luna %} | Lightweight, cost-efficient option for smaller, faster tasks. The lowest-cost model in the GPT-5.6 family. |
| {% data variables.copilot.copilot_claude_haiku_45 %} | Balances fast responses with quality output. Ideal for small tasks and lightweight code explanations. |
| {% data variables.copilot.copilot_mai_code_1_flash %} | Handles quick coding tasks with adaptive efficiency, stays concise for simple requests and delivers fast, accurate responses without unnecessary depth. |
@@ -90,6 +92,7 @@ These models are designed for tasks that require step-by-step reasoning, complex
|-------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {% data variables.copilot.copilot_gpt_5_mini %} | Delivers deep reasoning and debugging with faster responses and lower resource usage than GPT-5. Ideal for interactive sessions and step-by-step code analysis. |
| {% data variables.copilot.copilot_gpt_55 %} | Great at complex reasoning, code analysis, and technical decision-making. |
+| {% data variables.copilot.copilot_gpt_56_sol %} | The highest reasoning ceiling in the GPT-5.6 family. Best for complex reasoning over large codebases and demanding, long-running agentic work. |
| {% data variables.copilot.copilot_claude_sonnet_46 %} | Improves on Sonnet 4.5 with more reliable completions and smarter reasoning under pressure. |
| {% data variables.copilot.copilot_claude_opus_47 %} | Anthropic’s most powerful model. Improves on {% data variables.copilot.copilot_claude_opus_46 %}. |
| {% data variables.copilot.copilot_gemini_31_pro %} | Advanced reasoning across long contexts and scientific or technical analysis. |
diff --git a/content/copilot/reference/copilot-billing/models-and-pricing.md b/content/copilot/reference/copilot-billing/models-and-pricing.md
index 20baf6dbe081..26760b2df8b9 100644
--- a/content/copilot/reference/copilot-billing/models-and-pricing.md
+++ b/content/copilot/reference/copilot-billing/models-and-pricing.md
@@ -33,10 +33,12 @@ All prices are **per 1 million tokens**.
{% data reusables.copilot.extended-context-pricing %}
-| Model | Release status | Category | Tier | Threshold (input tokens) | Input | Cached input | Output |
-| --- | --- | --- | --- | --- | ---: | ---: | ---: |
+{% data variables.copilot.copilot_gpt_56_sol %}, {% data variables.copilot.copilot_gpt_56_terra %}, and {% data variables.copilot.copilot_gpt_56_luna %} include a cache write cost in addition to cached input. Earlier OpenAI models have no cache write cost.
+
+| Model | Release status | Category | Tier | Threshold (input tokens) | Input | Cached input | Cache write | Output |
+| --- | --- | --- | --- | --- | ---: | ---: | ---: | ---: |
| {% for entry in tables.copilot.models-and-pricing %}{% if entry.provider == "openai" %} |
-| {{ entry.model }} | {{ entry.release_status }} | {{ entry.category }} | {{ entry.tier }} | {{ entry.threshold }} | {{ entry.input }} | {{ entry.cached_input }} | {{ entry.output }} |
+| {{ entry.model }} | {{ entry.release_status }} | {{ entry.category }} | {{ entry.tier }} | {{ entry.threshold }} | {{ entry.input }} | {{ entry.cached_input }} | {{ entry.cache_write }} | {{ entry.output }} |
| {% endif %}{% endfor %} |
### Anthropic
diff --git a/data/tables/copilot/model-comparison.yml b/data/tables/copilot/model-comparison.yml
index 47ed672ee986..fc836f343917 100644
--- a/data/tables/copilot/model-comparison.yml
+++ b/data/tables/copilot/model-comparison.yml
@@ -36,17 +36,17 @@
- name: GPT-5.6 Luna
task_area: Fast help with simple or repetitive tasks
excels_at: Quick, cost-efficient responses for smaller, faster coding tasks
- further_reading: 'Not available'
+ further_reading: '[GPT-5.6 model card](https://deploymentsafety.openai.com/gpt-5-6/gpt-5-6.pdf)'
- name: GPT-5.6 Sol
task_area: Deep reasoning and debugging
excels_at: Complex reasoning over large codebases and long-running agentic work
- further_reading: 'Not available'
+ further_reading: '[GPT-5.6 model card](https://deploymentsafety.openai.com/gpt-5-6/gpt-5-6.pdf)'
- name: GPT-5.6 Terra
task_area: General-purpose coding and agent tasks
excels_at: Balanced everyday interactive and agentic coding
- further_reading: 'Not available'
+ further_reading: '[GPT-5.6 model card](https://deploymentsafety.openai.com/gpt-5-6/gpt-5-6.pdf)'
# Anthropic
- name: Claude Fable 5
diff --git a/data/tables/copilot/models-and-pricing.yml b/data/tables/copilot/models-and-pricing.yml
index 59277ae9d0d4..80bae6cc4d1a 100644
--- a/data/tables/copilot/models-and-pricing.yml
+++ b/data/tables/copilot/models-and-pricing.yml
@@ -14,7 +14,9 @@
# - output: Output token price per 1M tokens.
# - threshold: Input token threshold for pricing tier (OpenAI and Google only).
# - tier: Pricing tier label (OpenAI and Google only).
-# - cache_write: Cache write price per 1M tokens (Anthropic only).
+# - cache_write: Cache write price per 1M tokens. Applies to Anthropic models and
+# to GPT-5.6 and later OpenAI model families. Use "Not applicable" for models
+# that have no cache write cost.
# - notes: Optional notes about the model.
# OpenAI
@@ -27,6 +29,7 @@
input: $0.25
cached_input: $0.025
output: $2.00
+ cache_write: Not applicable
- model: GPT-5.3-Codex
provider: openai
@@ -37,6 +40,7 @@
input: $1.75
cached_input: $0.175
output: $14.00
+ cache_write: Not applicable
- model: 'GPT-5.4'
provider: openai
@@ -47,6 +51,7 @@
input: $2.50
cached_input: $0.25
output: $15.00
+ cache_write: Not applicable
- model: GPT-5.4
provider: openai
@@ -57,6 +62,7 @@
input: $5.00
cached_input: $0.50
output: $22.50
+ cache_write: Not applicable
- model: GPT-5.4 mini
provider: openai
@@ -67,6 +73,7 @@
input: $0.75
cached_input: $0.075
output: $4.50
+ cache_write: Not applicable
- model: GPT-5.4 nano
provider: openai
@@ -77,6 +84,7 @@
input: $0.20
cached_input: $0.02
output: $1.25
+ cache_write: Not applicable
- model: GPT-5.5
provider: openai
@@ -87,6 +95,7 @@
input: $5.00
cached_input: $0.50
output: $30.00
+ cache_write: Not applicable
- model: GPT-5.5
provider: openai
@@ -97,6 +106,7 @@
input: $10.00
cached_input: $1.00
output: $45.00
+ cache_write: Not applicable
- model: GPT-5.6 Luna
provider: openai
@@ -107,6 +117,7 @@
input: $0.20
cached_input: $0.02
output: $1.20
+ cache_write: $0.25
- model: GPT-5.6 Luna
provider: openai
@@ -117,6 +128,7 @@
input: $0.40
cached_input: $0.04
output: $1.80
+ cache_write: $0.50
- model: GPT-5.6 Sol
provider: openai
@@ -127,6 +139,7 @@
input: $5.00
cached_input: $0.50
output: $30.00
+ cache_write: $6.25
- model: GPT-5.6 Sol
provider: openai
@@ -137,6 +150,7 @@
input: $10.00
cached_input: $1.00
output: $45.00
+ cache_write: $12.50
- model: GPT-5.6 Terra
provider: openai
@@ -147,6 +161,7 @@
input: $2.00
cached_input: $0.20
output: $12.00
+ cache_write: $2.50
- model: GPT-5.6 Terra
provider: openai
@@ -157,6 +172,7 @@
input: $4.00
cached_input: $0.40
output: $18.00
+ cache_write: $5.00
# Anthropic
- model: Claude Haiku 4.5