From 527af51c8e466a3b257d79de1d6f3bc9489db981 Mon Sep 17 00:00:00 2001
From: docs-bot <77750099+docs-bot@users.noreply.github.com>
Date: Thu, 22 May 2025 09:38:28 -0700
Subject: [PATCH 1/4] GraphQL schema update (#55772)
Co-authored-by: heiskr <1221423+heiskr@users.noreply.github.com>
---
src/graphql/data/fpt/changelog.json | 14 ++++++++++++++
src/graphql/data/fpt/schema.docs.graphql | 10 ++++++++++
src/graphql/data/fpt/schema.json | 16 ++++++++++++++++
src/graphql/data/ghec/schema.docs.graphql | 10 ++++++++++
src/graphql/data/ghec/schema.json | 16 ++++++++++++++++
5 files changed, 66 insertions(+)
diff --git a/src/graphql/data/fpt/changelog.json b/src/graphql/data/fpt/changelog.json
index 60c57d7f96..0dc782b4a3 100644
--- a/src/graphql/data/fpt/changelog.json
+++ b/src/graphql/data/fpt/changelog.json
@@ -1,4 +1,18 @@
[
+ {
+ "schemaChanges": [
+ {
+ "title": "The GraphQL schema includes these changes:",
+ "changes": [
+ "
Field duplicateOf was added to object type ClosedEvent
",
+ "Field duplicateOf was added to object type Issue
"
+ ]
+ }
+ ],
+ "previewChanges": [],
+ "upcomingChanges": [],
+ "date": "2025-05-22"
+ },
{
"schemaChanges": [
{
diff --git a/src/graphql/data/fpt/schema.docs.graphql b/src/graphql/data/fpt/schema.docs.graphql
index 2daa472101..3f06618c01 100644
--- a/src/graphql/data/fpt/schema.docs.graphql
+++ b/src/graphql/data/fpt/schema.docs.graphql
@@ -4627,6 +4627,11 @@ type ClosedEvent implements Node & UniformResourceLocatable {
"""
createdAt: DateTime!
+ """
+ The issue or pull request that this issue was marked as a duplicate of.
+ """
+ duplicateOf: IssueOrPullRequest
+
"""
The Node ID of the ClosedEvent object
"""
@@ -18732,6 +18737,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable &
"""
databaseId: Int
+ """
+ A reference to the original issue that this issue has been marked as a duplicate of.
+ """
+ duplicateOf: Issue
+
"""
The actor who edited the comment.
"""
diff --git a/src/graphql/data/fpt/schema.json b/src/graphql/data/fpt/schema.json
index ce4f01a427..66496c350f 100644
--- a/src/graphql/data/fpt/schema.json
+++ b/src/graphql/data/fpt/schema.json
@@ -13800,6 +13800,14 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
+ {
+ "name": "duplicateOf",
+ "description": "The issue or pull request that this issue was marked as a duplicate of.
",
+ "type": "IssueOrPullRequest",
+ "id": "issueorpullrequest",
+ "kind": "unions",
+ "href": "/graphql/reference/unions#issueorpullrequest"
+ },
{
"name": "id",
"description": "The Node ID of the ClosedEvent object.
",
@@ -29173,6 +29181,14 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
},
+ {
+ "name": "duplicateOf",
+ "description": "A reference to the original issue that this issue has been marked as a duplicate of.
",
+ "type": "Issue",
+ "id": "issue",
+ "kind": "objects",
+ "href": "/graphql/reference/objects#issue"
+ },
{
"name": "editor",
"description": "The actor who edited the comment.
",
diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql
index 2daa472101..3f06618c01 100644
--- a/src/graphql/data/ghec/schema.docs.graphql
+++ b/src/graphql/data/ghec/schema.docs.graphql
@@ -4627,6 +4627,11 @@ type ClosedEvent implements Node & UniformResourceLocatable {
"""
createdAt: DateTime!
+ """
+ The issue or pull request that this issue was marked as a duplicate of.
+ """
+ duplicateOf: IssueOrPullRequest
+
"""
The Node ID of the ClosedEvent object
"""
@@ -18732,6 +18737,11 @@ type Issue implements Assignable & Closable & Comment & Deletable & Labelable &
"""
databaseId: Int
+ """
+ A reference to the original issue that this issue has been marked as a duplicate of.
+ """
+ duplicateOf: Issue
+
"""
The actor who edited the comment.
"""
diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json
index ce4f01a427..66496c350f 100644
--- a/src/graphql/data/ghec/schema.json
+++ b/src/graphql/data/ghec/schema.json
@@ -13800,6 +13800,14 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#datetime"
},
+ {
+ "name": "duplicateOf",
+ "description": "The issue or pull request that this issue was marked as a duplicate of.
",
+ "type": "IssueOrPullRequest",
+ "id": "issueorpullrequest",
+ "kind": "unions",
+ "href": "/graphql/reference/unions#issueorpullrequest"
+ },
{
"name": "id",
"description": "The Node ID of the ClosedEvent object.
",
@@ -29173,6 +29181,14 @@
"kind": "scalars",
"href": "/graphql/reference/scalars#int"
},
+ {
+ "name": "duplicateOf",
+ "description": "A reference to the original issue that this issue has been marked as a duplicate of.
",
+ "type": "Issue",
+ "id": "issue",
+ "kind": "objects",
+ "href": "/graphql/reference/objects#issue"
+ },
{
"name": "editor",
"description": "The actor who edited the comment.
",
From 3905c756764ad814c132b4de7eae05230b6a6774 Mon Sep 17 00:00:00 2001
From: Kevin Heis
Date: Thu, 22 May 2025 09:42:17 -0700
Subject: [PATCH 2/4] Add script to repo-sync on local (#55755)
---
package.json | 1 +
src/workflows/local-repo-sync.sh | 42 ++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+)
create mode 100755 src/workflows/local-repo-sync.sh
diff --git a/package.json b/package.json
index 13b67feee4..dc9564db55 100644
--- a/package.json
+++ b/package.json
@@ -77,6 +77,7 @@
"purge-old-workflow-runs": "tsx src/workflows/purge-old-workflow-runs.js",
"ready-for-docs-review": "tsx src/workflows/ready-for-docs-review.ts",
"release-banner": "tsx src/ghes-releases/scripts/release-banner.ts",
+ "repo-sync": "./src/workflows/local-repo-sync.sh",
"reusables": "tsx src/content-render/scripts/reusables-cli.ts",
"rendered-content-link-checker": "tsx src/links/scripts/rendered-content-link-checker.ts",
"rendered-content-link-checker-cli": "tsx src/links/scripts/rendered-content-link-checker-cli.ts",
diff --git a/src/workflows/local-repo-sync.sh b/src/workflows/local-repo-sync.sh
new file mode 100755
index 0000000000..0d375f9781
--- /dev/null
+++ b/src/workflows/local-repo-sync.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+echo "> This script assumes docs and docs-internal are cloned together in the same directory already."
+
+echo "> Making sure the repos are a sibiling directories..."
+cd ../docs || (echo "Repo docs not found as a sibling directory" && exit 1)
+cd ../docs-internal || (echo "Repo docs-internal not found as a sibling directory" && exit 1)
+echo "> Found directories for repos docs and docs-internal"
+
+echo "> Checking out main branch and updating both repositories..."
+cd ../docs
+git checkout main
+git pull
+cd ../docs-internal
+git checkout main
+git pull
+echo "> Both repositories are in main and up-to-date"
+
+echo "> Set up remotes if they aren't there..."
+cd ../docs
+git remote show docs-internal || git remote add docs-internal ../docs-internal
+cd ../docs-internal
+git remote show docs || git remote add docs ../docs
+echo "> Remotes set on docs and docs-internal"
+
+echo "> Fetch and merge both repositories..."
+cd ../docs
+git fetch docs-internal main
+git merge docs-internal/main
+cd ../docs-internal
+git fetch docs main
+git merge docs/main
+echo "> Both repositories have each other's latest changes in main"
+
+echo "> Push up both repositories..."
+cd ../docs
+git push --no-verify
+cd ../docs-internal
+git push --no-verify
+echo "> Both repositories are pushed to origin"
From 80a31932af0764b00420a60fc54363832c21a4ed Mon Sep 17 00:00:00 2001
From: Anne-Marie <102995847+am-stead@users.noreply.github.com>
Date: Thu, 22 May 2025 17:53:24 +0100
Subject: [PATCH 3/4] Tented/18207 1 (#55662)
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
Co-authored-by: sunbrye
---
...ot-policies-as-an-individual-subscriber.md | 2 +-
...features-for-copilot-in-your-enterprise.md | 2 +-
...licies-for-copilot-in-your-organization.md | 2 +-
.../about-premium-requests.md | 29 +++----
.../changing-the-ai-model-for-copilot-chat.md | 4 +-
...oosing-the-right-ai-model-for-your-task.md | 14 +++-
.../using-github-copilot/ai-models/index.md | 2 +-
.../using-claude-in-github-copilot.md | 82 +++++++++++++++++++
.../using-claude-sonnet-in-github-copilot.md | 69 ----------------
...king-github-copilot-questions-in-github.md | 2 +-
.../claude-opus-public-preview-note.md | 2 +
.../copilot/claude-public-preview-note.md | 2 +
.../copilot/differences-cfi-cfb-table.md | 1 +
data/variables/copilot.yml | 2 +
14 files changed, 123 insertions(+), 92 deletions(-)
create mode 100644 content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
delete mode 100644 content/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot.md
create mode 100644 data/reusables/copilot/claude-opus-public-preview-note.md
create mode 100644 data/reusables/copilot/claude-public-preview-note.md
diff --git a/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber.md b/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber.md
index 7934066878..db1a92a640 100644
--- a/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber.md
+++ b/content/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber.md
@@ -60,7 +60,7 @@ You can choose whether your prompts and {% data variables.product.prodname_copil
You can choose whether to allow the following AI models to be used as an alternative to {% data variables.product.prodname_copilot_short %}'s default model.
-* {% data variables.copilot.copilot_claude_sonnet %} - see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot)
+* {% data variables.copilot.copilot_claude %} - see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot)
* {% data variables.copilot.copilot_gemini %} - see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-gemini-in-github-copilot)
{% data reusables.user-settings.copilot-settings %}
diff --git a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md
index 5267c426e5..278aea2216 100644
--- a/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md
+++ b/content/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise.md
@@ -89,7 +89,7 @@ Some features of {% data variables.product.prodname_copilot_short %} are availab
By default, {% data variables.product.prodname_copilot_chat_short %} uses a base model. If you grant access to the alternative models, members of your enterprise can choose to use these models rather than the base model. The available alternative models are:
-* **{% data variables.copilot.copilot_claude_sonnet %}**. See [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot).
+* **{% data variables.copilot.copilot_claude %}**. See [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot).
* **{% data variables.copilot.copilot_gemini %}**. See [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-gemini-in-github-copilot).
* **OpenAI models:** See [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-openai-gpt-41-in-github-copilot).
diff --git a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization.md b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization.md
index cc9fef7a00..17a7dd2ab8 100644
--- a/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization.md
+++ b/content/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization.md
@@ -38,7 +38,7 @@ Organization owners can set policies to govern how {% data variables.product.pro
* {% data variables.product.prodname_copilot_desktop_short %} ({% data variables.release-phases.public_preview %})
* Suggestions matching public code
* Access to alternative models for {% data variables.product.prodname_copilot_short %}
- * Anthropic {% data variables.copilot.copilot_claude_sonnet %} in {% data variables.product.prodname_copilot_short %}
+ * Anthropic {% data variables.copilot.copilot_claude %} in {% data variables.product.prodname_copilot_short %}
* Google {% data variables.copilot.copilot_gemini %} in {% data variables.product.prodname_copilot_short %}
* OpenAI models in {% data variables.product.prodname_copilot_short %}
diff --git a/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md b/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
index 7d30e574f0..2705804a74 100644
--- a/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
+++ b/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
@@ -44,21 +44,22 @@ The following {% data variables.product.prodname_copilot_short %} features can u
Each model has a premium request multiplier, based on its complexity and resource usage. Your premium request allowance is deducted according to this multiplier.
-| Model | Premium requests |
-| ------- | ---------------- |
+| Model | Premium requests |
+|-------------------------------------------------------------------------|------------------------------------------------------------------------------|
| Base model (currently {% data variables.copilot.copilot_gpt_41 %}) [^2] | 0 (paid users), 1 ({% data variables.product.prodname_copilot_free_short %}) |
-| Premium {% data variables.copilot.copilot_gpt_41 %} | 1 |
-| {% data variables.copilot.copilot_gpt_4o %} | 1 |
-| {% data variables.copilot.copilot_gpt_45 %} | 50 |
-| {% data variables.copilot.copilot_claude_sonnet_35 %} | 1 |
-| {% data variables.copilot.copilot_claude_sonnet_37 %} | 1 |
-| {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking | 1.25 |
-| {% data variables.copilot.copilot_gemini_flash %} | 0.25 |
-| {% data variables.copilot.copilot_gemini_25_pro %} | 1 |
-| {% data variables.copilot.copilot_o1 %} | 10 |
-| {% data variables.copilot.copilot_o3 %} | 5 |
-| {% data variables.copilot.copilot_o3_mini %} | 0.33 |
-| {% data variables.copilot.copilot_o4_mini %} | 0.33 |
+| Premium {% data variables.copilot.copilot_gpt_41 %} | 1 |
+| {% data variables.copilot.copilot_gpt_4o %} | 1 |
+| {% data variables.copilot.copilot_gpt_45 %} | 50 |
+| {% data variables.copilot.copilot_claude_sonnet_35 %} | 1 |
+| {% data variables.copilot.copilot_claude_sonnet_37 %} | 1 |
+| {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking | 1.25 |
+| {% data variables.copilot.copilot_claude_opus %} | 10 |
+| {% data variables.copilot.copilot_gemini_flash %} | 0.25 |
+| {% data variables.copilot.copilot_gemini_25_pro %} | 1 |
+| {% data variables.copilot.copilot_o1 %} | 10 |
+| {% data variables.copilot.copilot_o3 %} | 5 |
+| {% data variables.copilot.copilot_o3_mini %} | 0.33 |
+| {% data variables.copilot.copilot_o4_mini %} | 0.33 |
[^2]: The base model at the time of writing is powered by {% data variables.copilot.copilot_gpt_41 %}. This is subject to change. Response times for the base model may vary during periods of high usage. Requests to the base model may be subject to rate limiting.
diff --git a/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md b/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
index 79bdef7931..f96d6e5efa 100644
--- a/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
+++ b/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
@@ -35,6 +35,7 @@ The following models are currently available in the immersive mode of {% data va
* {% data variables.copilot.copilot_claude_sonnet_35 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking
+* {% data variables.copilot.copilot_claude_opus %}
* {% data variables.copilot.copilot_gemini_flash %}
* {% data variables.copilot.copilot_gemini_25_pro %} (preview)
* {% data variables.copilot.copilot_o1 %}
@@ -84,6 +85,7 @@ The following models are currently available through multi-model {% data variabl
* {% data variables.copilot.copilot_claude_sonnet_35 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking
+* {% data variables.copilot.copilot_claude_opus %}
* {% data variables.copilot.copilot_gemini_flash %}
* {% data variables.copilot.copilot_o1 %}
* {% data variables.copilot.copilot_o3 %}
@@ -253,6 +255,6 @@ To use multi-model {% data variables.product.prodname_copilot_chat_short %}, you
## Further reading
* [AUTOTITLE](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion)
-* [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot)
+* [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot)
* [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-gemini-in-github-copilot)
* [AUTOTITLE](/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task)
diff --git a/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md b/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
index c086de4c0d..48c66d3ef7 100644
--- a/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
+++ b/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
@@ -31,6 +31,7 @@ You can click a model name in the list below to jump to a detailed overview of i
* [{% data variables.copilot.copilot_o4_mini %}](#o4-mini)
* [{% data variables.copilot.copilot_claude_sonnet_35 %}](#claude-35-sonnet)
* [{% data variables.copilot.copilot_claude_sonnet_37 %}](#claude-37-sonnet)
+* [{% data variables.copilot.copilot_claude_opus %}](#claude-opus-4)
* [{% data variables.copilot.copilot_gemini_flash %}](#gemini-20-flash)
* [{% data variables.copilot.copilot_gemini_25_pro %}](#gemini-25-pro)
> [!NOTE] Different models have different premium request multipliers, which can affect how much of your monthly usage allowance is consumed. For details, see [AUTOTITLE](/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests).
@@ -319,7 +320,7 @@ The following table summarizes when an alternative model may be a better choice:
{% data variables.copilot.copilot_claude_sonnet_35 %} is a fast and cost-efficient model designed for everyday developer tasks. While it doesn't have the deeper reasoning capabilities of {% data variables.copilot.copilot_claude_sonnet_37 %}, it still performs well on coding tasks that require quick responses, clear summaries, and basic logic.
For more information about {% data variables.copilot.copilot_claude_sonnet_35 %}, see [Anthropic's documentation](https://www.anthropic.com/news/claude-3-5-sonnet).
-For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot).
+For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot).
### Use cases
@@ -356,10 +357,10 @@ The following table summarizes when an alternative model may be a better choice:
## {% data variables.copilot.copilot_claude_sonnet_37 %}
-{% data variables.copilot.copilot_claude_sonnet_37 %} is Anthropic's most advanced model to date. {% data variables.copilot.copilot_claude_sonnet_37 %} is a powerful model that excels in development tasks that require structured reasoning across large or complex codebases. Its hybrid approach to reasoning responds quickly when needed, while still supporting slower step-by-step analysis for deeper tasks.
+{% data variables.copilot.copilot_claude_sonnet_37 %} is a powerful model that excels in development tasks that require structured reasoning across large or complex codebases. Its hybrid approach to reasoning responds quickly when needed, while still supporting slower step-by-step analysis for deeper tasks.
For more information about {% data variables.copilot.copilot_claude_sonnet_37 %}, see [Anthropic's documentation](https://www.anthropic.com/claude/sonnet).
-For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot).
+For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot).
### Use cases
@@ -395,6 +396,13 @@ The following table summarizes when an alternative model may be a better choice:
{% endrowheaders %}
+## {% data variables.copilot.copilot_claude_opus %}
+
+{% data reusables.copilot.claude-opus-public-preview-note %}
+
+For more information about {% data variables.copilot.copilot_claude_opus %}, see [Anthropic's documentation](https://www.anthropic.com/claude/).
+For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot).
+
## {% data variables.copilot.copilot_gemini_flash %}
{% data variables.copilot.copilot_gemini_flash %} is Google’s high-speed, multimodal model optimized for real-time, interactive applications that benefit from visual input and agentic reasoning. In {% data variables.product.prodname_copilot_chat_short %}, {% data variables.copilot.copilot_gemini_flash %} enables fast responses and cross-modal understanding.
diff --git a/content/copilot/using-github-copilot/ai-models/index.md b/content/copilot/using-github-copilot/ai-models/index.md
index c17f54416d..b1c2cf5880 100644
--- a/content/copilot/using-github-copilot/ai-models/index.md
+++ b/content/copilot/using-github-copilot/ai-models/index.md
@@ -11,7 +11,7 @@ children:
- /changing-the-ai-model-for-copilot-code-completion
- /choosing-the-right-ai-model-for-your-task
- /comparing-ai-models-using-different-tasks
- - /using-claude-sonnet-in-github-copilot
+ - /using-claude-in-github-copilot
- /using-gemini-in-github-copilot
- /using-openai-gpt-41-in-github-copilot
- /using-openai-o3-in-github-copilot
diff --git a/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md b/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
new file mode 100644
index 0000000000..66b0ed1181
--- /dev/null
+++ b/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
@@ -0,0 +1,82 @@
+---
+title: Using Claude in Copilot Chat
+allowTitleToDifferFromFilename: true
+shortTitle: 'Use {% data variables.copilot.copilot_claude %}'
+intro: 'Learn how to enable {% data variables.copilot.copilot_claude %} in {% data variables.product.prodname_copilot_chat %} for {% ifversion fpt %}yourself or{% endif %} your organization{% ifversion ghec %} or enterprise{% endif %}.'
+versions:
+ feature: copilot
+topics:
+ - Copilot
+redirect_from:
+ - /copilot/using-github-copilot/using-claude-sonnet-in-github-copilot
+ - /copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot
+---
+
+## About {% data variables.copilot.copilot_claude %} in {% data variables.product.prodname_copilot_chat %}
+
+{% data reusables.copilot.claude-public-preview-note %}
+
+{% data variables.copilot.copilot_claude %} is a family of large language models that you can use as an alternative to the default model used by {% data variables.product.prodname_copilot_chat_short %}. {% data variables.copilot.copilot_claude %} excels at coding tasks across the entire software development lifecycle, from initial design to bug fixes, maintenance to optimizations. Learn more about [Claude's capabilities](https://www.anthropic.com/claude).
+
+* {% data variables.copilot.copilot_claude_opus %} is available in:
+
+ * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
+ * Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
+
+* {% data variables.copilot.copilot_claude_sonnet_35 %} and {% data variables.copilot.copilot_claude_sonnet_37 %} are available in:
+
+ * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
+ * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vs %} 2022
+ * **3.5**: Version 17.12 or later
+ * **3.7**: Version 17.13 or later
+ * {% data variables.product.prodname_copilot_chat_short %} in Xcode
+ * {% data variables.product.prodname_copilot_chat_short %} in Eclipse
+ * {% data variables.product.prodname_copilot_chat_short %} in JetBrains
+ * Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
+
+{% data variables.copilot.copilot_claude_opus %} is hosted by Anthropic PBC. {% data variables.copilot.copilot_claude_sonnet_37 %} is hosted by Amazon Web Services, Anthropic PBC, and Google Cloud Platform when used in {% data variables.product.prodname_copilot %}. {% data variables.copilot.copilot_claude_sonnet_35 %} is hosted exclusively by Amazon Web Services. {% data variables.product.github %} has provider agreements in place to ensure data is not used for training. Additional details for each provider are included below:
+
+* Amazon Bedrock: Amazon makes the [following data commitments](https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html): _Amazon Bedrock doesn't store or log your prompts and completions. Amazon Bedrock doesn't use your prompts and completions to train any AWS models and doesn't distribute them to third parties_.
+* Anthropic PBC: {% data variables.product.github %} maintains a [zero data retention agreement](https://privacy.anthropic.com/en/articles/8956058-i-have-a-zero-retention-agreement-with-anthropic-what-products-does-it-apply-to) with Anthropic.
+* Google Cloud: [Google commits to not training on {% data variables.product.github %} data as part of their service terms](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance). {% data variables.product.github %} is additionally not subject to prompt logging for abuse monitoring.
+
+In order to provide better service quality and reduce latency, {% data variables.product.github %} uses [prompt caching](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching). You can read more about prompt caching on [Anthropic PBC](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching), [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html), and [Google Cloud](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude-prompt-caching).
+
+When using {% data variables.copilot.copilot_claude %}, input prompts and output completions continue to run through {% data variables.product.prodname_copilot %}'s content filters for public code matching, when applied, along with those for harmful, offensive, or off-topic content.
+
+## Configuring access
+
+You must enable access to each {% data variables.copilot.copilot_claude %} individually before you can use the model.
+
+{% ifversion fpt %}
+
+### Setup for individual use
+
+> [!NOTE]
+> * {% data variables.copilot.copilot_claude_opus %} is not currently available for {% data variables.product.prodname_copilot_free_short %} and {% data variables.product.prodname_copilot_pro_short %}.
+> * {% data variables.copilot.copilot_claude_sonnet_37 %} is not currently available for {% data variables.product.prodname_copilot_free_short %}.
+
+If you have a {% data variables.product.prodname_copilot_free_short %} or {% data variables.product.prodname_copilot_pro_short %} subscription, you can enable {% data variables.copilot.copilot_claude %} in two ways:
+
+* The first time you choose to use {% data variables.copilot.copilot_claude %} models with {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}, or in the immersive view of {% data variables.product.prodname_copilot_chat_short %}, you will be prompted to allow access to the model.
+
+ Clicking **Allow** enables you to use {% data variables.copilot.copilot_claude %} and updates the policy in your personal settings on {% data variables.product.github %}.
+
+* You can enable the model directly in your personal settings on the {% data variables.product.github %} website. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-alternative-ai-models).
+
+{% endif %}
+
+### Setup for organization {% ifversion ghec %}and enterprise{% endif %} use
+
+> [!NOTE]
+> {% data variables.copilot.copilot_claude_opus %} is not currently available for {% data variables.product.prodname_copilot_business_short %}.
+
+As an {% ifversion ghec %}enterprise or{% endif %} organization owner, you can enable or disable {% data variables.copilot.copilot_claude %} models for everyone who has been assigned a {% ifversion ghec %}{% data variables.product.prodname_copilot_enterprise_short %} or {% endif %}{% data variables.product.prodname_copilot_business_short %} seat through your {% ifversion ghec %}enterprise or {% endif %}organization. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization){% ifversion ghec %} and [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise){% endif %}.
+
+## Using {% data variables.copilot.copilot_claude %}
+
+For details on how to change the model that {% data variables.product.prodname_copilot_chat_short %} uses, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat).
+
+## Leaving feedback
+
+To leave feedback about {% data variables.copilot.copilot_claude %} in {% data variables.product.prodname_copilot_short %}, or to ask a question, see the {% data variables.product.prodname_github_community %} discussion [{% data variables.copilot.copilot_claude_sonnet_35 %} is now available to all {% data variables.product.prodname_copilot_short %} users in Public Preview](https://github.com/orgs/community/discussions/143337).
diff --git a/content/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot.md b/content/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot.md
deleted file mode 100644
index 3326fce6c9..0000000000
--- a/content/copilot/using-github-copilot/ai-models/using-claude-sonnet-in-github-copilot.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-title: Using Claude Sonnet in Copilot Chat
-allowTitleToDifferFromFilename: true
-shortTitle: 'Use {% data variables.copilot.copilot_claude_sonnet %}'
-intro: 'Learn how to enable {% data variables.copilot.copilot_claude_sonnet %} in {% data variables.product.prodname_copilot_chat %} for {% ifversion fpt %}yourself or{% endif %} your organization{% ifversion ghec %} or enterprise{% endif %}.'
-versions:
- feature: copilot
-topics:
- - Copilot
-redirect_from:
- - /copilot/using-github-copilot/using-claude-sonnet-in-github-copilot
----
-
-## About {% data variables.copilot.copilot_claude_sonnet %} in {% data variables.product.prodname_copilot_chat %}
-
-{% data variables.copilot.copilot_claude_sonnet %} is a family of large language models that you can use as an alternative to the default model used by {% data variables.product.prodname_copilot_chat_short %}. {% data variables.copilot.copilot_claude_sonnet %} excels at coding tasks across the entire software development lifecycle, from initial design to bug fixes, maintenance to optimizations. Learn more about [Sonnet's capabilities](https://www.anthropic.com/claude/sonnet).
-
-* {% data variables.copilot.copilot_claude_sonnet_35 %} and {% data variables.copilot.copilot_claude_sonnet_37 %} are available in:
-
- * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
- * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vs %} 2022
- * **3.5**: Version 17.12 or later
- * **3.7**: Version 17.13 or later
- * {% data variables.product.prodname_copilot_chat_short %} in Xcode
- * {% data variables.product.prodname_copilot_chat_short %} in Eclipse
- * {% data variables.product.prodname_copilot_chat_short %} in JetBrains
- * Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
-
-{% data variables.copilot.copilot_claude_sonnet_37 %} is hosted by Amazon Web Services, Anthropic PBC, and Google Cloud Platform when used in {% data variables.product.prodname_copilot %}. {% data variables.copilot.copilot_claude_sonnet_35 %} is hosted exclusively by Amazon Web Services. {% data variables.product.github %} has provider agreements in place to ensure data is not used for training. Additional details for each provider are included below:
-
-* Amazon Bedrock: Amazon makes the [following data commitments](https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html): _Amazon Bedrock doesn't store or log your prompts and completions. Amazon Bedrock doesn't use your prompts and completions to train any AWS models and doesn't distribute them to third parties_.
-* Anthropic PBC: {% data variables.product.github %} maintains a [zero data retention agreement](https://privacy.anthropic.com/en/articles/8956058-i-have-a-zero-retention-agreement-with-anthropic-what-products-does-it-apply-to) with Anthropic.
-* Google Cloud: [Google commits to not training on {% data variables.product.github %} data as part of their service terms](https://cloud.google.com/vertex-ai/generative-ai/docs/data-governance). {% data variables.product.github %} is additionally not subject to prompt logging for abuse monitoring.
-
-In order to provide better service quality and reduce latency, {% data variables.product.github %} uses [prompt caching](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching). You can read more about prompt caching on [Anthropic PBC](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching), [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html), and [Google Cloud](https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude-prompt-caching).
-
-When using {% data variables.copilot.copilot_claude_sonnet %}, input prompts and output completions continue to run through {% data variables.product.prodname_copilot %}'s content filters for public code matching, when applied, along with those for harmful, offensive, or off-topic content.
-
-## Configuring access
-
-You must enable access to each {% data variables.copilot.copilot_claude_sonnet %} individually before you can use the model.
-
-{% ifversion fpt %}
-
-### Setup for individual use
-
-> [!NOTE] {% data variables.copilot.copilot_claude_sonnet_37 %} is not currently available for {% data variables.product.prodname_copilot_free_short %}.
-
-If you have a {% data variables.product.prodname_copilot_free_short %} or {% data variables.product.prodname_copilot_pro_short %} subscription, you can enable {% data variables.copilot.copilot_claude_sonnet %} in two ways:
-
-* The first time you choose to use {% data variables.copilot.copilot_claude_sonnet %} models with {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}, or in the immersive view of {% data variables.product.prodname_copilot_chat_short %}, you will be prompted to allow access to the model.
-
- Clicking **Allow** enables you to use {% data variables.copilot.copilot_claude_sonnet %} and updates the policy in your personal settings on {% data variables.product.github %}.
-
-* You can enable the model directly in your personal settings on the {% data variables.product.github %} website. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-alternative-ai-models).
-
-{% endif %}
-
-### Setup for organization {% ifversion ghec %}and enterprise{% endif %} use
-
-As an {% ifversion ghec %}enterprise or{% endif %} organization owner, you can enable or disable {% data variables.copilot.copilot_claude_sonnet %} models for everyone who has been assigned a {% ifversion ghec %}{% data variables.product.prodname_copilot_enterprise_short %} or {% endif %}{% data variables.product.prodname_copilot_business_short %} seat through your {% ifversion ghec %}enterprise or {% endif %}organization. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization){% ifversion ghec %} and [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise){% endif %}.
-
-## Using {% data variables.copilot.copilot_claude_sonnet %}
-
-For details on how to change the model that {% data variables.product.prodname_copilot_chat_short %} uses, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat).
-
-## Leaving feedback
-
-To leave feedback about {% data variables.copilot.copilot_claude_sonnet %} in {% data variables.product.prodname_copilot_short %}, or to ask a question, see the {% data variables.product.prodname_github_community %} discussion [{% data variables.copilot.copilot_claude_sonnet_35 %} is now available to all {% data variables.product.prodname_copilot_short %} users in Public Preview](https://github.com/orgs/community/discussions/143337).
diff --git a/content/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github.md b/content/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github.md
index 6ab8e7b42c..fdc16779b3 100644
--- a/content/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github.md
+++ b/content/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github.md
@@ -41,7 +41,7 @@ In immersive view, you can also preview how some file formats, such as Markdown,
## Powered by skills
-When using the {% data variables.copilot.copilot_gpt_4o %} and {% data variables.copilot.copilot_claude_sonnet %} models, {% data variables.product.prodname_copilot_short %} has access to a collection of skills to fetch data from {% data variables.product.github %}, which are dynamically selected based on the question you ask. You can tell which skill {% data variables.product.prodname_copilot_short %} used by clicking {% octicon "chevron-down" aria-label="the down arrow" %} to expand the status information in the chat window.
+When using the {% data variables.copilot.copilot_gpt_4o %} and {% data variables.copilot.copilot_claude %} models, {% data variables.product.prodname_copilot_short %} has access to a collection of skills to fetch data from {% data variables.product.github %}, which are dynamically selected based on the question you ask. You can tell which skill {% data variables.product.prodname_copilot_short %} used by clicking {% octicon "chevron-down" aria-label="the down arrow" %} to expand the status information in the chat window.

diff --git a/data/reusables/copilot/claude-opus-public-preview-note.md b/data/reusables/copilot/claude-opus-public-preview-note.md
new file mode 100644
index 0000000000..337f92233c
--- /dev/null
+++ b/data/reusables/copilot/claude-opus-public-preview-note.md
@@ -0,0 +1,2 @@
+> [!NOTE]
+> {% data variables.copilot.copilot_claude_opus %} in {% data variables.product.prodname_copilot_chat_short %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
diff --git a/data/reusables/copilot/claude-public-preview-note.md b/data/reusables/copilot/claude-public-preview-note.md
new file mode 100644
index 0000000000..337f92233c
--- /dev/null
+++ b/data/reusables/copilot/claude-public-preview-note.md
@@ -0,0 +1,2 @@
+> [!NOTE]
+> {% data variables.copilot.copilot_claude_opus %} in {% data variables.product.prodname_copilot_chat_short %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
diff --git a/data/reusables/copilot/differences-cfi-cfb-table.md b/data/reusables/copilot/differences-cfi-cfb-table.md
index e3bfacdbe4..d94f23c3fa 100644
--- a/data/reusables/copilot/differences-cfi-cfb-table.md
+++ b/data/reusables/copilot/differences-cfi-cfb-table.md
@@ -46,6 +46,7 @@
| {% data variables.copilot.copilot_claude_sonnet_35 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_claude_sonnet_37 %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
+| {% data variables.copilot.copilot_claude_opus %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_gemini_flash %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_gemini_25_pro %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_gpt_4o %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml
index a7af56bdc1..735e72e96b 100644
--- a/data/variables/copilot.yml
+++ b/data/variables/copilot.yml
@@ -41,9 +41,11 @@ copilot_coding_agent: 'Copilot coding agent'
coding_agent_UI: 'Coding agent'
## LLM models for Copilot
+copilot_claude: 'Claude'
copilot_claude_sonnet: 'Claude Sonnet'
copilot_claude_sonnet_35: 'Claude 3.5 Sonnet'
copilot_claude_sonnet_37: 'Claude 3.7 Sonnet'
+copilot_claude_opus: 'Claude Opus 4'
copilot_gemini: 'Gemini'
copilot_gemini_flash: 'Gemini 2.0 Flash'
From 8398175af11178a173744e1cf172e016068aa61d Mon Sep 17 00:00:00 2001
From: Anne-Marie <102995847+am-stead@users.noreply.github.com>
Date: Thu, 22 May 2025 18:15:51 +0100
Subject: [PATCH 4/4] Tented/18207 2 (#55663)
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com>
Co-authored-by: sunbrye
---
.../about-premium-requests.md | 1 +
.../ai-models/changing-the-ai-model-for-copilot-chat.md | 2 ++
.../choosing-the-right-ai-model-for-your-task.md | 8 ++++++++
.../ai-models/using-claude-in-github-copilot.md | 8 +++++++-
data/reusables/copilot/claude-public-preview-note.md | 2 +-
.../copilot/claude-sonnet-40-public-preview-note.md | 2 ++
data/reusables/copilot/differences-cfi-cfb-table.md | 1 +
data/variables/copilot.yml | 1 +
8 files changed, 23 insertions(+), 2 deletions(-)
create mode 100644 data/reusables/copilot/claude-sonnet-40-public-preview-note.md
diff --git a/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md b/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
index 2705804a74..186ae7039c 100644
--- a/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
+++ b/content/copilot/managing-copilot/monitoring-usage-and-entitlements/about-premium-requests.md
@@ -53,6 +53,7 @@ Each model has a premium request multiplier, based on its complexity and resourc
| {% data variables.copilot.copilot_claude_sonnet_35 %} | 1 |
| {% data variables.copilot.copilot_claude_sonnet_37 %} | 1 |
| {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking | 1.25 |
+| {% data variables.copilot.copilot_claude_sonnet_40 %} | 1 |
| {% data variables.copilot.copilot_claude_opus %} | 10 |
| {% data variables.copilot.copilot_gemini_flash %} | 0.25 |
| {% data variables.copilot.copilot_gemini_25_pro %} | 1 |
diff --git a/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md b/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
index f96d6e5efa..6487a2e8ca 100644
--- a/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
+++ b/content/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat.md
@@ -35,6 +35,7 @@ The following models are currently available in the immersive mode of {% data va
* {% data variables.copilot.copilot_claude_sonnet_35 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking
+* {% data variables.copilot.copilot_claude_sonnet_40 %}
* {% data variables.copilot.copilot_claude_opus %}
* {% data variables.copilot.copilot_gemini_flash %}
* {% data variables.copilot.copilot_gemini_25_pro %} (preview)
@@ -85,6 +86,7 @@ The following models are currently available through multi-model {% data variabl
* {% data variables.copilot.copilot_claude_sonnet_35 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %}
* {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking
+* {% data variables.copilot.copilot_claude_sonnet_40 %}
* {% data variables.copilot.copilot_claude_opus %}
* {% data variables.copilot.copilot_gemini_flash %}
* {% data variables.copilot.copilot_o1 %}
diff --git a/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md b/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
index 48c66d3ef7..4f4dd08616 100644
--- a/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
+++ b/content/copilot/using-github-copilot/ai-models/choosing-the-right-ai-model-for-your-task.md
@@ -31,6 +31,7 @@ You can click a model name in the list below to jump to a detailed overview of i
* [{% data variables.copilot.copilot_o4_mini %}](#o4-mini)
* [{% data variables.copilot.copilot_claude_sonnet_35 %}](#claude-35-sonnet)
* [{% data variables.copilot.copilot_claude_sonnet_37 %}](#claude-37-sonnet)
+* [{% data variables.copilot.copilot_claude_sonnet_40 %}](#claude-sonnet-4)
* [{% data variables.copilot.copilot_claude_opus %}](#claude-opus-4)
* [{% data variables.copilot.copilot_gemini_flash %}](#gemini-20-flash)
* [{% data variables.copilot.copilot_gemini_25_pro %}](#gemini-25-pro)
@@ -396,6 +397,13 @@ The following table summarizes when an alternative model may be a better choice:
{% endrowheaders %}
+## {% data variables.copilot.copilot_claude_sonnet_40 %}
+
+{% data reusables.copilot.claude-sonnet-40-public-preview-note %}
+
+For more information about {% data variables.copilot.copilot_claude_sonnet_40 %}, see [Anthropic's documentation](https://www.anthropic.com/claude/).
+For more information on using Claude in {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot).
+
## {% data variables.copilot.copilot_claude_opus %}
{% data reusables.copilot.claude-opus-public-preview-note %}
diff --git a/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md b/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
index 66b0ed1181..469169b583 100644
--- a/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
+++ b/content/copilot/using-github-copilot/ai-models/using-claude-in-github-copilot.md
@@ -23,6 +23,11 @@ redirect_from:
* {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
* Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
+* {% data variables.copilot.copilot_claude_sonnet_40 %} is available in:
+
+ * {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
+ * Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
+
* {% data variables.copilot.copilot_claude_sonnet_35 %} and {% data variables.copilot.copilot_claude_sonnet_37 %} are available in:
* {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.prodname_vscode %}
@@ -34,7 +39,7 @@ redirect_from:
* {% data variables.product.prodname_copilot_chat_short %} in JetBrains
* Immersive mode in {% data variables.product.prodname_copilot_chat_short %} in {% data variables.product.github %}
-{% data variables.copilot.copilot_claude_opus %} is hosted by Anthropic PBC. {% data variables.copilot.copilot_claude_sonnet_37 %} is hosted by Amazon Web Services, Anthropic PBC, and Google Cloud Platform when used in {% data variables.product.prodname_copilot %}. {% data variables.copilot.copilot_claude_sonnet_35 %} is hosted exclusively by Amazon Web Services. {% data variables.product.github %} has provider agreements in place to ensure data is not used for training. Additional details for each provider are included below:
+{% data variables.copilot.copilot_claude_opus %} is hosted by Anthropic PBC. {% data variables.copilot.copilot_claude_sonnet_40 %} is hosted by Anthropic 1P. {% data variables.copilot.copilot_claude_sonnet_37 %} is hosted by Amazon Web Services, Anthropic PBC, and Google Cloud Platform when used in {% data variables.product.prodname_copilot %}. {% data variables.copilot.copilot_claude_sonnet_35 %} is hosted exclusively by Amazon Web Services. {% data variables.product.github %} has provider agreements in place to ensure data is not used for training. Additional details for each provider are included below:
* Amazon Bedrock: Amazon makes the [following data commitments](https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html): _Amazon Bedrock doesn't store or log your prompts and completions. Amazon Bedrock doesn't use your prompts and completions to train any AWS models and doesn't distribute them to third parties_.
* Anthropic PBC: {% data variables.product.github %} maintains a [zero data retention agreement](https://privacy.anthropic.com/en/articles/8956058-i-have-a-zero-retention-agreement-with-anthropic-what-products-does-it-apply-to) with Anthropic.
@@ -54,6 +59,7 @@ You must enable access to each {% data variables.copilot.copilot_claude %} indiv
> [!NOTE]
> * {% data variables.copilot.copilot_claude_opus %} is not currently available for {% data variables.product.prodname_copilot_free_short %} and {% data variables.product.prodname_copilot_pro_short %}.
+> * {% data variables.copilot.copilot_claude_sonnet_40 %} and {% data variables.copilot.copilot_claude_sonnet_37 %} are not currently available for {% data variables.product.prodname_copilot_free_short %}.
> * {% data variables.copilot.copilot_claude_sonnet_37 %} is not currently available for {% data variables.product.prodname_copilot_free_short %}.
If you have a {% data variables.product.prodname_copilot_free_short %} or {% data variables.product.prodname_copilot_pro_short %} subscription, you can enable {% data variables.copilot.copilot_claude %} in two ways:
diff --git a/data/reusables/copilot/claude-public-preview-note.md b/data/reusables/copilot/claude-public-preview-note.md
index 337f92233c..73cbe34e8d 100644
--- a/data/reusables/copilot/claude-public-preview-note.md
+++ b/data/reusables/copilot/claude-public-preview-note.md
@@ -1,2 +1,2 @@
> [!NOTE]
-> {% data variables.copilot.copilot_claude_opus %} in {% data variables.product.prodname_copilot_chat_short %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
+> {% data variables.copilot.copilot_claude_opus %} and {% data variables.copilot.copilot_claude_sonnet_40 %} in {% data variables.product.prodname_copilot_chat_short %} are currently in {% data variables.release-phases.public_preview %} and subject to change.
diff --git a/data/reusables/copilot/claude-sonnet-40-public-preview-note.md b/data/reusables/copilot/claude-sonnet-40-public-preview-note.md
new file mode 100644
index 0000000000..fd56e6962e
--- /dev/null
+++ b/data/reusables/copilot/claude-sonnet-40-public-preview-note.md
@@ -0,0 +1,2 @@
+> [!NOTE]
+> {% data variables.copilot.copilot_claude_sonnet_40 %} in {% data variables.product.prodname_copilot_chat_short %} is currently in {% data variables.release-phases.public_preview %} and subject to change.
diff --git a/data/reusables/copilot/differences-cfi-cfb-table.md b/data/reusables/copilot/differences-cfi-cfb-table.md
index d94f23c3fa..5a0b91c1aa 100644
--- a/data/reusables/copilot/differences-cfi-cfb-table.md
+++ b/data/reusables/copilot/differences-cfi-cfb-table.md
@@ -46,6 +46,7 @@
| {% data variables.copilot.copilot_claude_sonnet_35 %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_claude_sonnet_37 %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_claude_sonnet_37 %} Thinking | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
+| {% data variables.copilot.copilot_claude_sonnet_40 %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_claude_opus %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_gemini_flash %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
| {% data variables.copilot.copilot_gemini_25_pro %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} |
diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml
index 735e72e96b..7d40be703a 100644
--- a/data/variables/copilot.yml
+++ b/data/variables/copilot.yml
@@ -45,6 +45,7 @@ copilot_claude: 'Claude'
copilot_claude_sonnet: 'Claude Sonnet'
copilot_claude_sonnet_35: 'Claude 3.5 Sonnet'
copilot_claude_sonnet_37: 'Claude 3.7 Sonnet'
+copilot_claude_sonnet_40: 'Claude Sonnet 4'
copilot_claude_opus: 'Claude Opus 4'
copilot_gemini: 'Gemini'