diff --git a/.github/workflows/triage-unallowed-contributions.yml b/.github/workflows/triage-unallowed-contributions.yml index 802d2d8f138b..6cb0e0faa39a 100644 --- a/.github/workflows/triage-unallowed-contributions.yml +++ b/.github/workflows/triage-unallowed-contributions.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Get files changed - uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd + uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d id: filter with: # Base branch used to get changed files diff --git a/content/copilot/reference/ai-models/model-hosting.md b/content/copilot/reference/ai-models/model-hosting.md index bc2b3f7d6428..5287fe5b2c6f 100644 --- a/content/copilot/reference/ai-models/model-hosting.md +++ b/content/copilot/reference/ai-models/model-hosting.md @@ -49,12 +49,16 @@ Used for: * {% data variables.copilot.copilot_claude_haiku_45 %} * {% data variables.copilot.copilot_claude_sonnet_45 %} +* {% data variables.copilot.copilot_claude_sonnet_46 %} * {% data variables.copilot.copilot_claude_opus_45 %} * {% data variables.copilot.copilot_claude_opus_46 %} * {% data variables.copilot.copilot_claude_opus_46_fast %} * {% data variables.copilot.copilot_claude_opus_47 %} * {% data variables.copilot.copilot_claude_opus_48 %} -* {% data variables.copilot.copilot_claude_sonnet_46 %} +* {% data variables.copilot.copilot_claude_fable_5 %} + +> [!WARNING] +> When {% data variables.copilot.copilot_claude_fable_5 %} is used, Anthropic retains data, including prompts and outputs, to operate safety classifiers that detect harmful use. Other Claude models in {% data variables.product.prodname_copilot %} remain covered by {% data variables.product.github %}'s existing data retention agreements, as documented below. Enterprise and business users need to enable the {% data variables.copilot.copilot_claude_fable_5 %} model to make it available for your organization. You can read more about Anthropic's data handling practices for this model under section F of their [Service Specific Terms](https://www.anthropic.com/legal/service-specific-terms). These models are hosted by Amazon Web Services, Anthropic PBC, and Google Cloud Platform. {% 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: diff --git a/content/copilot/reference/ai-models/supported-models.md b/content/copilot/reference/ai-models/supported-models.md index a2d0b5b79d39..b21826b22cd2 100644 --- a/content/copilot/reference/ai-models/supported-models.md +++ b/content/copilot/reference/ai-models/supported-models.md @@ -40,11 +40,13 @@ This table lists the AI models available in {% data variables.product.prodname_c | Model name | Provider | Release status | Agent mode | Ask mode | Edit mode | |--------------------------------------------------------|-----------|----------------------------|------------|----------|-----------| | {% for model in tables.copilot.model-release-status %} | -| {{ model.name }}{% if model.name == 'GPT-5.4 nano' %}[^gpt54nano]{% endif %}{% if model.name == 'MAI-Code-1-Flash' %}[^mai-code-1-flash]{% endif %} | {{ model.provider }} | {{ model.release_status }} | {% if model.agent_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.ask_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.edit_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | +| {{ model.name }}{% if model.name == 'GPT-5.4 nano' %}[^gpt54nano]{% endif %}{% if model.name == 'MAI-Code-1-Flash' %}[^mai-code-1-flash]{% endif %}{% if model.name == 'Claude Fable 5' %}[^claude-fable-5]{% endif %}| {{ model.provider }} | {{ model.release_status }} | {% if model.agent_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.ask_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.edit_mode == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | | {% endfor %} | {% endrowheaders %} +[^claude-fable-5]: When {% data variables.copilot.copilot_claude_fable_5 %} is used, Anthropic retains data, including prompts and outputs, to operate safety classifiers that detect harmful use. Other Claude models in {% data variables.product.prodname_copilot %} remain covered by {% data variables.product.github %}'s existing data retention agreements, as documented at [AUTOTITLE](/copilot/reference/ai-models/model-hosting#anthropic-models). Enterprise and business users need to enable the {% data variables.copilot.copilot_claude_fable_5 %} model to make it available for your organization. You can read more about Anthropic's data handling practices for this model under section F of their [Service Specific Terms](https://www.anthropic.com/legal/service-specific-terms). To enable {% data variables.copilot.copilot_claude_fable_5 %}, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-access-to-ai-models). + ## Supported AI models in {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} This table lists the supported AI models for {% data variables.copilot.copilot_auto_model_selection_short_cap_a %}. Available models may be limited by model policies. See [AUTOTITLE](/copilot/concepts/auto-model-selection). @@ -81,6 +83,7 @@ Choosing a larger context window or higher reasoning will impact {% data variabl | {% data variables.copilot.copilot_claude_opus_46_fast %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | | {% data variables.copilot.copilot_claude_opus_47 %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | {% data variables.copilot.copilot_claude_opus_48 %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | +| {% data variables.copilot.copilot_claude_fable_5 %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | {% data variables.copilot.copilot_gpt_53_codex %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | {% data variables.copilot.copilot_gpt_54 %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | {% data variables.copilot.copilot_gpt_55 %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | @@ -131,7 +134,8 @@ Some {% data variables.product.prodname_copilot_short %} models require minimum | {% data variables.copilot.copilot_gpt_54 %} | `v1.104.1` and later | `17.14.19` and later | `1.5.66` and later | `0.47.0` and later | `0.15.0` and later | | {% data variables.copilot.copilot_gpt_54_mini %} | `v1.104.1` and later | `17.14.19` and later | `1.5.66` and later | `0.47.0` and later | `0.15.0` and later | | {% data variables.copilot.copilot_gpt_55 %} | `v1.117` and later | `17.14.19` and later | `1.5.66` and later | `0.47.0` and later | `0.15.0` and later | -| {% data variables.copilot.copilot_claude_opus_48 %} | `v1.118` and later | `17.14.19` and later | TBD | TBD | TBD | +| {% data variables.copilot.copilot_claude_opus_48 %} | `v1.118` and later | `17.14.6` and later | TBD | TBD | TBD | +| {% data variables.copilot.copilot_claude_fable_5 %} | `v1.123.2` and later | `17.14.6` and later | TBD | TBD | TBD | | {% data variables.copilot.copilot_mai_code_1_flash %} | `v1.121` and later | Not available | Not available | Not available | Not available | {% endrowheaders %} diff --git a/data/reusables/copilot/available-models-per-plan.md b/data/reusables/copilot/available-models-per-plan.md index 807c78b396d8..f110f57b86e8 100644 --- a/data/reusables/copilot/available-models-per-plan.md +++ b/data/reusables/copilot/available-models-per-plan.md @@ -5,7 +5,7 @@ | Available models | {% data variables.copilot.copilot_pro_short %} | {% data variables.copilot.copilot_pro_plus_short %} | {% data variables.copilot.copilot_max_short %} | {% data variables.copilot.copilot_business_short %} | {% data variables.copilot.copilot_enterprise_short %} | |---------------------------------------------------------|-------------------------------------------------|-----------------------------------------------------|------------------------------------------------|-----------------------------------------------------|-------------------------------------------------------| | {% for model in tables.copilot.model-supported-plans %} | -| {{ model.name }}{% if model.name == 'GPT-5.4 nano' %}[^gpt54nano]{% endif %} | {% if model.pro == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.pro_plus == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.max == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.business == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.enterprise == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | +| {{ model.name }}{% if model.name == 'GPT-5.4 nano' %}[^gpt54nano]{% endif %}{% if model.name == 'Claude Fable 5' %}[^claude-fable-5]{% endif %} | {% if model.pro == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.pro_plus == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.max == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.business == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | {% if model.enterprise == true %}{% octicon "check" aria-label="Included" %}{% else %}{% octicon "x" aria-label="Not included" %}{% endif %} | | {% endfor %} | {% endrowheaders %} diff --git a/data/tables/copilot/model-comparison.yml b/data/tables/copilot/model-comparison.yml index 706afd72c3e1..9dc808bf8af3 100644 --- a/data/tables/copilot/model-comparison.yml +++ b/data/tables/copilot/model-comparison.yml @@ -53,6 +53,11 @@ excels_at: Complex problem-solving challenges, sophisticated reasoning further_reading: 'Not available' +- name: Claude Fable 5 + task_area: Long-horizon, autonomous coding and knowledge-work + excels_at: First-attempt correctness through upfront reasoning, aggressive parallel tool batching, and proactive verification of pre-existing test state before debugging + further_reading: 'Not available' + - name: Claude Sonnet 4.5 task_area: General-purpose coding and agent tasks excels_at: Complex problem-solving challenges, sophisticated reasoning diff --git a/data/tables/copilot/model-release-status.yml b/data/tables/copilot/model-release-status.yml index 03d2d973e80e..d5ca157afea0 100644 --- a/data/tables/copilot/model-release-status.yml +++ b/data/tables/copilot/model-release-status.yml @@ -103,6 +103,13 @@ ask_mode: true edit_mode: true +- name: 'Claude Fable 5' + provider: 'Anthropic' + release_status: 'GA' + agent_mode: true + ask_mode: true + edit_mode: true + - name: 'Claude Sonnet 4.5' provider: 'Anthropic' release_status: 'GA' diff --git a/data/tables/copilot/model-supported-clients.yml b/data/tables/copilot/model-supported-clients.yml index 5c6915cddb8c..124981149d1f 100644 --- a/data/tables/copilot/model-supported-clients.yml +++ b/data/tables/copilot/model-supported-clients.yml @@ -68,6 +68,15 @@ xcode: true jetbrains: true +- name: Claude Fable 5 + dotcom: true + cli: true + vscode: true + vs: true + eclipse: true + xcode: true + jetbrains: true + - name: Claude Sonnet 4.5 dotcom: true cli: true diff --git a/data/tables/copilot/model-supported-plans.yml b/data/tables/copilot/model-supported-plans.yml index 84dd328556b1..31a5cbc81b3d 100644 --- a/data/tables/copilot/model-supported-plans.yml +++ b/data/tables/copilot/model-supported-plans.yml @@ -54,6 +54,13 @@ business: true enterprise: true +- name: Claude Fable 5 + pro: false + pro_plus: true + max: true + business: true + enterprise: true + - name: Claude Sonnet 4.5 pro: true pro_plus: true diff --git a/data/tables/copilot/models-and-pricing.yml b/data/tables/copilot/models-and-pricing.yml index 5cd28f3f47c9..adf83a65c6cb 100644 --- a/data/tables/copilot/models-and-pricing.yml +++ b/data/tables/copilot/models-and-pricing.yml @@ -171,6 +171,15 @@ output: $25.00 cache_write: $6.25 +- model: Claude Fable 5 + provider: anthropic + release_status: GA + category: Powerful + input: $10.00 + cached_input: $1.00 + output: $50.00 + cache_write: $12.50 + # Google - model: 'Gemini 2.5 Pro' provider: google diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index d9d7269e06b0..6cc184033fd1 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -189,6 +189,7 @@ copilot_claude_opus_46: 'Claude Opus 4.6' copilot_claude_opus_46_fast: 'Claude Opus 4.6 (fast mode) (preview)' copilot_claude_opus_47: 'Claude Opus 4.7' copilot_claude_opus_48: 'Claude Opus 4.8' +copilot_claude_fable_5: 'Claude Fable 5' copilot_claude_sonnet: 'Claude Sonnet' copilot_claude_sonnet_35: 'Claude Sonnet 3.5' copilot_claude_sonnet_37: 'Claude Sonnet 3.7' diff --git a/package-lock.json b/package-lock.json index 349e2990e9ca..78eeb331c049 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,7 @@ "helmet": "^8.1.0", "highlight.js": "^11.11.1", "highlightjs-curl": "^1.3.0", - "hot-shots": "^14.3.1", + "hot-shots": "^15.0.0", "html-entities": "^2.5.6", "http-proxy-middleware": "^4.0.0", "imurmurhash": "^0.1.4", @@ -11206,9 +11206,9 @@ "license": "MIT" }, "node_modules/hot-shots": { - "version": "14.3.1", - "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-14.3.1.tgz", - "integrity": "sha512-2mKuFf3quca37vsT4u4BW9nUZIaz1uuHSpLG0uFQxdg6QAuNU8QnMU6tpEyX/EJe1oEgOrdmFq+DL0NrBIKhkA==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/hot-shots/-/hot-shots-15.0.0.tgz", + "integrity": "sha512-89EmKbvjVbDdFmUcvMl1x9XaKdEzg1VDLElbKaQCPC88wrus6O5XlCyZ+KbwZk9Dy4BNcsyfEHMfSkUtRZHBQg==", "license": "MIT", "engines": { "node": ">=18.0.0" diff --git a/package.json b/package.json index e63f91a68d26..247113c0c334 100644 --- a/package.json +++ b/package.json @@ -216,7 +216,7 @@ "helmet": "^8.1.0", "highlight.js": "^11.11.1", "highlightjs-curl": "^1.3.0", - "hot-shots": "^14.3.1", + "hot-shots": "^15.0.0", "html-entities": "^2.5.6", "http-proxy-middleware": "^4.0.0", "imurmurhash": "^0.1.4",