Skip to content

Commit 7638d1a

Browse files
timrogersnhu-dohubwriter
authored
[2025-12-08] Model picker for Copilot coding agent for Pro and Pro+ users (#58728)
Co-authored-by: Nhu Do <nhu-do@github.com> Co-authored-by: hubwriter <hubwriter@github.com>
1 parent 407ff09 commit 7638d1a

File tree

11 files changed

+91
-22
lines changed

11 files changed

+91
-22
lines changed

content/copilot/concepts/agents/coding-agent/about-coding-agent.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,19 +45,19 @@ While working on a coding task, {% data variables.copilot.copilot_coding_agent %
4545

4646
You can also create {% data variables.copilot.custom_agents_short %} to tailor {% data variables.product.prodname_copilot_short %}'s behavior for specific workflows, coding conventions, or specialized tasks. {% data variables.copilot.custom_agents_caps_short %} allow you to define multiple specialized versions of the coding agent—such as a frontend reviewer, test generator, or security auditor—each with their own prompts, tools, and capabilities. For more information, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/about-custom-agents).
4747

48-
### Benefits over traditional AI workflows
48+
## Benefits over traditional AI workflows
4949

5050
When used effectively, {% data variables.copilot.copilot_coding_agent %} offers productivity benefits over traditional AI assistants in IDEs:
5151

5252
* With **AI assistants in IDEs**, coding happens **locally**. Individual developers pair in **synchronous** sessions with the AI assistant. Decisions made during the session are **untracked** and lost to time unless committed. Although the assistant helps write code, the developer still has a lot of **manual steps** to do: create the branch, write commit messages, push the changes, open the PR, write the PR description, get a review, iterate in the IDE, and repeat. These steps take time and effort that may be hard to justify for simple or routine issues.
5353

5454
* With **{% data variables.copilot.copilot_coding_agent %}**, all coding and iterating happens **on {% data variables.product.github %}** as part of the pull request workflow. You can create multiple {% data variables.copilot.custom_agents_short %} that specialize in different types of tasks. {% data variables.product.prodname_copilot_short %} **automates** branch creation, commit message writing and pushing, PR opening, and PR description writing. Developers let the agents **work in the background** and then steer {% data variables.product.prodname_copilot_short %} to a final solution using PR reviews. Working on {% data variables.product.github %} adds **transparency**, with every step happening in a commit and being viewable in logs, and opens up **collaboration** opportunities for the entire team.
5555

56-
### {% data variables.copilot.copilot_coding_agent %} versus agent mode
56+
## {% data variables.copilot.copilot_coding_agent %} versus agent mode
5757

5858
{% data variables.copilot.copilot_coding_agent %} is distinct from the "agent mode" feature available in your IDE. {% data variables.copilot.copilot_coding_agent %} works autonomously in a {% data variables.product.prodname_actions %}-powered environment to complete development tasks assigned through {% data variables.product.github %} issues or {% data variables.copilot.copilot_chat %} prompts, and creates pull requests with the results. In contrast, agent mode in your IDE makes autonomous edits directly in your local development environment. For more information about agent mode, see [AUTOTITLE](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-your-ide).
5959

60-
### Streamlining software development with {% data variables.copilot.copilot_coding_agent %}
60+
## Streamlining software development with {% data variables.copilot.copilot_coding_agent %}
6161

6262
Assigning tasks to {% data variables.copilot.copilot_coding_agent %} can enhance your software development workflow.
6363

@@ -69,11 +69,11 @@ Having {% data variables.copilot.copilot_coding_agent %} as an additional coding
6969

7070
You can create specialized {% data variables.copilot.custom_agents_short %} for different tasks. For example, you might create a {% data variables.copilot.copilot_custom_agent_short %} specialized for frontend development that focuses on React components and styling, a documentation agent that excels at writing and updating technical documentation, or a testing agent that specializes in generating comprehensive unit tests. Each {% data variables.copilot.copilot_custom_agent_short %} can be tailored with specific prompts and tools suited to its particular task.
7171

72-
### Integrating {% data variables.copilot.copilot_coding_agent %} with third-party tools
72+
## Integrating {% data variables.copilot.copilot_coding_agent %} with third-party tools
7373

7474
You can also invoke {% data variables.copilot.copilot_coding_agent %} from external tools, allowing you to assign tasks to {% data variables.product.prodname_copilot_short %}, provide context, and open pull requests without leaving your workflow. See [AUTOTITLE](/copilot/concepts/tools/about-copilot-integrations)
7575

76-
### Making {% data variables.copilot.copilot_coding_agent %} available
76+
## Making {% data variables.copilot.copilot_coding_agent %} available
7777

7878
Before you can assign tasks to {% data variables.copilot.copilot_coding_agent %}, it must be enabled.
7979

@@ -85,6 +85,14 @@ Repository owners can choose to opt out some or all repositories from {% data va
8585

8686
For more information, see [AUTOTITLE](/copilot/concepts/agents/coding-agent/managing-access).
8787

88+
## AI models for {% data variables.copilot.copilot_coding_agent %}
89+
90+
{% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users can select the model used by {% data variables.copilot.copilot_coding_agent %}. You may find that different models perform better, or provide more useful responses, depending on the type of tasks you give {% data variables.product.prodname_copilot_short %}.
91+
92+
Support for selecting a model is coming soon for {% data variables.copilot.copilot_for_business %} and {% data variables.copilot.copilot_enterprise %} users. Until then, tor these users, {% data variables.copilot.copilot_coding_agent %} will use {% data variables.copilot.copilot_claude_sonnet_45 %}. {% data variables.product.company_short %} reserves the right to change the model used at any time.
93+
94+
For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/changing-the-ai-model).
95+
8896
## {% data variables.copilot.copilot_coding_agent %} usage costs
8997

9098
{% data variables.copilot.copilot_coding_agent %} uses {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_copilot_short %} premium requests.
@@ -156,9 +164,6 @@ Users can include hidden messages in issues assigned to {% data variables.copilo
156164
* **{% data variables.copilot.copilot_coding_agent %} does not work in personal repositories owned by {% data variables.enterprise.prodname_managed_users %}**. This is because {% data variables.copilot.copilot_coding_agent %} requires {% data variables.product.company_short %}-hosted runners, which are not available to personal repositories owned by {% data variables.enterprise.prodname_managed_users %}. See [AUTOTITLE](/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners).
157165
* **{% data variables.copilot.copilot_coding_agent %} doesn't account for content exclusions**. Content exclusions allow administrators to configure {% data variables.product.prodname_copilot_short %} to ignore certain files. When using {% data variables.copilot.copilot_coding_agent %}, {% data variables.product.prodname_copilot_short %} will not ignore these files, and will be able to see and update them. See [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot).
158166
* **{% data variables.copilot.copilot_coding_agent %} only works with repositories hosted on {% data variables.product.github %}**. If your repository is stored using a different code hosting platform, {% data variables.product.prodname_copilot_short %} won't be able to work on it.
159-
* **You cannot select the AI model used by {% data variables.copilot.copilot_coding_agent %}**. A model picker is not available to switch between models, and {% data variables.product.company_short %} reserves the right to change models at any time.
160-
161-
Currently, {% data variables.copilot.copilot_coding_agent %} uses {% data variables.copilot.copilot_claude_sonnet_45 %}.
162167

163168
## Hands-on practice
164169

content/copilot/concepts/auto-model-selection.md

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
title: 'About {% data variables.product.prodname_copilot_short %} auto model selection'
33
allowTitleToDifferFromFilename: true
44
shortTitle: 'Auto model selection'
5-
intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %}.'
6-
product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans.'
5+
intro: 'Automatically select models for {% data variables.copilot.copilot_chat_short %} and {% data variables.copilot.copilot_coding_agent %}.'
6+
product: '{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_chat_short %} is in {% data variables.release-phases.public_preview %} for supported IDEs with all {% data variables.product.prodname_copilot %} plans. {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is generally available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users.'
77
topics:
88
- Copilot
99
versions:
@@ -17,15 +17,20 @@ category:
1717

1818
Experience less rate limiting and reduce the mental load of choosing a model by letting {% data variables.copilot.copilot_auto_model_selection %} automatically choose the best available model on your behalf.
1919

20-
{% data variables.copilot.copilot_auto_model_selection %} is currently optimized for model availability, choosing from a list of models that may change over time. It currently chooses from {% data variables.copilot.copilot_gpt_41 %}, {% data variables.copilot.copilot_gpt_5_mini %}, {% data variables.copilot.copilot_gpt_51_codex_max %}, {% data variables.copilot.copilot_claude_haiku_45 %}, {% data variables.copilot.copilot_claude_sonnet_45 %}, and {% data variables.copilot.copilot_gemini_3_pro %}, based on your subscription type.
20+
{% data variables.copilot.copilot_auto_model_selection %} is currently optimized for model availability, choosing from a list of models that may change over time.
2121

2222
With {% data variables.copilot.copilot_auto_model_selection %}, you benefit from:
2323
* Reduced chances of rate limiting
24-
* Discounted multipliers for paid plans
24+
* Discounted multipliers for paid plans ({% data variables.copilot.copilot_chat_short %} only)
25+
26+
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} **won't** include these models:
27+
* Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
28+
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
29+
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
2530

2631
> [!NOTE] Soon {% data variables.copilot.copilot_auto_model_selection %} will choose the best model for you by taking into account both model availability and your task.
27-
28-
> [!TIP] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
32+
33+
## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_chat_short %}
2934

3035
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} is available in the following IDEs:
3136
* {% data variables.product.prodname_vscode_shortname %}
@@ -34,19 +39,32 @@ With {% data variables.copilot.copilot_auto_model_selection %}, you benefit from
3439
* JetBrains IDEs
3540
* Xcode
3641

37-
{% data variables.copilot.copilot_auto_model_selection_short_cap_a %} **won't** include these models:
38-
* Models excluded by individual or administrator policies. See [AUTOTITLE](/copilot/how-tos/use-ai-models/configure-access-to-ai-models).
39-
* Models with premium request multipliers greater than one. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#model-multipliers).
40-
* Models not available in your plan. See [AUTOTITLE](/copilot/reference/ai-models/supported-models#supported-ai-models-per-copilot-plan).
42+
When you select **Auto** in {% data variables.copilot.copilot_chat_short %}, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} may choose from the following list of models, subject to your policies and subscription type. Models may change over time.
43+
* {% data variables.copilot.copilot_gpt_41 %}
44+
* {% data variables.copilot.copilot_gpt_5_mini %}
45+
* {% data variables.copilot.copilot_gpt_51_codex_max %}
46+
* {% data variables.copilot.copilot_claude_haiku_45 %}
47+
* {% data variables.copilot.copilot_claude_sonnet_45 %}
4148

42-
## AI models for {% data variables.copilot.copilot_chat_short %}
49+
> [!TIP] To see which model was used for each response, hover over the response in {% data variables.copilot.copilot_chat_short %}.
4350
4451
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_chat_short %}, you can manually choose a different model to override this selection. {% data reusables.copilot.change-the-ai-model %}
4552

46-
## Multiplier discounts
53+
### Multiplier discounts
4754

4855
{% data reusables.copilot.auto-model-multiplier-discount %} See [AUTOTITLE](/copilot/concepts/billing/copilot-requests#model-multipliers).
4956

50-
## Enabling access during {% data variables.release-phases.public_preview %}
57+
### Enabling access during {% data variables.release-phases.public_preview %}
5158

5259
During the {% data variables.release-phases.public_preview %}, if you're using a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, the organization or enterprise that provides your plan must have the **Editor preview features** policy enabled. See [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization) or [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#copilot-in-githubcom).
60+
61+
## {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} in {% data variables.copilot.copilot_coding_agent %}
62+
63+
> [!NOTE] {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} for {% data variables.copilot.copilot_coding_agent %} is currently only available for {% data variables.copilot.copilot_pro %} and {% data variables.copilot.copilot_pro_plus %} users.
64+
65+
When you select **Auto** in {% data variables.copilot.copilot_coding_agent %}, {% data variables.copilot.copilot_auto_model_selection_short_cap_a %} currently chooses from the following list of models, subject to your policies and subscription type:
66+
{% data reusables.copilot.copilot-coding-agent-auto-models %}
67+
68+
While {% data variables.copilot.copilot_auto_model_selection_short %} is an option for {% data variables.copilot.copilot_coding_agent %}, you can manually choose a different model to override this selection.
69+
70+
{% data reusables.copilot.change-the-ai-model-copilot-coding-agent %}

content/copilot/concepts/billing/copilot-requests.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ The following {% data variables.product.prodname_copilot_short %} features can u
4242
| [{% data variables.copilot.copilot_chat_short %}](/copilot/using-github-copilot/copilot-chat) | {% data variables.copilot.copilot_chat_short %} uses **one premium request** per user prompt, multiplied by the model's rate. This includes ask, edit, agent, and plan modes in {% data variables.copilot.copilot_chat_short %} in an IDE. | {% data variables.product.prodname_copilot_short %} premium requests |
4343
| [{% data variables.copilot.copilot_cli_short %}](/copilot/concepts/agents/about-copilot-cli) | Each prompt to {% data variables.copilot.copilot_cli_short %} uses **one premium request** with the default model. For other models, this is multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests |
4444
| [{% data variables.product.prodname_copilot_short %} code review](/copilot/using-github-copilot/code-review/using-copilot-code-review) | Each time {% data variables.product.prodname_copilot_short %} reviews a pull request (when assigned as a reviewer) or reviews code in your IDE, **one premium request** is consumed. | {% data variables.product.prodname_copilot_short %} premium requests |
45-
| [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session, plus **one premium request** for each real-time steering comment made during an active session. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. | {% data variables.copilot.copilot_coding_agent %} premium requests |
45+
| [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session, multiplied by the model's rate. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. In addition, each real-time steering comment made during an active session uses **one premium request** per session, multiplied by the model's rate. | {% data variables.copilot.copilot_coding_agent %} premium requests |
4646
| [{% data variables.copilot.copilot_spaces %}](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces) | {% data variables.copilot.copilot_spaces %} uses **one premium request** per user prompt, multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests |
4747
| [{% data variables.product.prodname_spark_short %}](/copilot/tutorials/building-ai-app-prototypes) | Each prompt to {% data variables.product.prodname_spark_short %} uses a fixed rate of **four premium requests**. | {% data variables.product.prodname_spark_short %} premium requests |
4848
| [{% data variables.product.prodname_openai_codex %} integration](/copilot/concepts/agents/openai-codex) | While in preview, each prompt to {% data variables.product.prodname_openai_codex %} uses **one premium request** multiplied by the model multiplier rates. | {% data variables.product.prodname_copilot_short %} premium requests |

0 commit comments

Comments
 (0)