Copilot  

GitHub Copilot Model Migration: Preparing for September Deprecations

Introduction

AI model selection is becoming a normal part of software development, but it also introduces a maintenance problem that traditional development tools rarely had at the same scale: model lifecycle management.

A development team may build workflows around a specific Copilot model today and discover later that the model is scheduled for retirement.

That can affect:

  • Developer prompts

  • Agent workflows

  • Code-generation quality

  • Review workflows

  • Model policies

  • IDE configurations

  • Internal documentation

  • Automated integrations

GitHub has scheduled several GitHub Copilot model retirements for September 1, 2026. The affected models include Gemini 3.1 Pro, Claude Opus 4.5, Claude Opus 4.6, Claude Sonnet 4.5, Claude Sonnet 4.6, and Raptor mini, with newer alternatives identified by GitHub.

That means teams should treat model migration as an engineering activity rather than simply changing a model name in a configuration file.

A successful migration should answer three questions:

  1. What currently depends on the retiring model?

  2. Which replacement model provides acceptable behavior?

  3. How do we prove that the replacement does not break our development workflow?

Why Model Deprecation Is Different From a Normal Dependency Upgrade

A normal library upgrade might produce a compiler error:

Old Package
     |
     v
Build
     |
     X
Compilation Error

Model changes are different.

The application can continue running:

Old Model
     |
     v
Replacement Model
     |
     v
Application still works

But the generated output may change.

For example:

Same Prompt
     |
     +--> Old Model
     |      |
     |      v
     |   Good Code
     |
     +--> New Model
            |
            v
       Different Code

There may be no compiler error at the model boundary.

The behavioral difference appears in the output.

That makes AI model migration closer to behavioral compatibility testing than a traditional package upgrade.

September 2026 Copilot Model Changes

GitHub currently lists the following September 1 retirements:

Retiring ModelSuggested Alternative
Gemini 3.1 ProGemini 3.6 Flash
Claude Opus 4.5Claude Opus 5
Claude Opus 4.6Claude Opus 5
Claude Sonnet 4.5Claude Sonnet 5
Claude Sonnet 4.6Claude Sonnet 5
Raptor miniMAI-Code-1-Flash

GitHub's announcement states that these changes apply across Copilot experiences including Copilot Chat, inline edits, ask and agent modes, and code completions.

There is one important exception: GitHub says Claude Sonnet 4.6 remains available to individual Copilot subscribers on annual plans.

Teams should therefore validate their own plan, policies, and actual model availability instead of assuming that every account sees exactly the same model list.

Model Migration Is a Compatibility Problem

A useful way to think about migration is:

Existing Workflow
       |
       v
Retiring Model
       |
       v
Migration Test
       |
       +---- Quality
       |
       +---- Latency
       |
       +---- Cost
       |
       +---- Tool behavior
       |
       +---- Agent behavior
       |
       v
Replacement Model

The replacement model is acceptable only if it satisfies the application's requirements.

A model being listed as a suggested alternative does not automatically mean it will produce identical results.

Step 1: Build a Model Inventory

Start by identifying every place where a retiring model is used.

The inventory should include:

Developer IDE settings
Copilot Chat workflows
Agent workflows
Prompt templates
Documentation
Team policies
Automation
Internal tooling
Model-specific evaluations

Create a simple table:

WorkflowCurrent ModelOwnerCriticalityReplacement
Code generationRetiring modelTeam AHighTBD
Code reviewRetiring modelTeam BHighTBD
DocumentationRetiring modelTeam CMediumTBD
Agent workflowRetiring modelPlatformCriticalTBD

This turns migration into a trackable engineering project.

Step 2: Identify Model-Specific Dependencies

Some prompts are portable.

Others implicitly depend on a particular model's behavior.

For example:

"Generate a C# API using these conventions..."

is relatively portable.

But a prompt such as:

Use your strongest reasoning process.
Perform five internal verification steps.
Then...

may behave differently across model families.

Look for:

  • Model-specific prompting

  • Expected output formats

  • Tool-calling assumptions

  • Agent behavior

  • Reasoning expectations

  • Context-window assumptions

  • Response-length assumptions

  • Coding conventions learned through repeated use

Step 3: Create a Regression Dataset

The most important migration asset is a test set.

Collect real examples from your development workflow.

For example:

50 code-generation tasks
30 debugging tasks
20 refactoring tasks
20 code-review tasks
20 documentation tasks
10 architecture tasks

The exact distribution should reflect your workload.

Each test should contain:

Prompt
Expected behavior
Important constraints
Evaluation method
Current model output
Replacement model output

This gives you a baseline before migration.

Step 4: Compare Outputs

Do not compare outputs only by visual similarity.

Two different implementations can both be correct.

Instead, evaluate the result against the actual requirement.

For generated C# code:

Generated Code
     |
     +--> Compile
     |
     +--> Unit Tests
     |
     +--> Static Analysis
     |
     +--> Requirement Check
     |
     v
Quality Result

For documentation:

Generated Documentation
       |
       +--> Accuracy
       +--> Completeness
       +--> Structure
       +--> Technical Correctness

This produces a more meaningful comparison than asking whether the two answers "look similar."

Step 5: Define Acceptance Criteria

Before testing the replacement, define what "good enough" means.

For example:

Code compilation:      100%
Required tests:        >= 95%
Critical defects:      0
Instruction following: >= 90%
Average latency:       <= baseline + 20%

These are example thresholds.

Your actual thresholds should be based on the importance of the workflow.

For a critical production agent, the acceptance criteria may be much stricter.

Measuring Migration Quality

A useful migration score can combine several dimensions:

Migration Score
=
Quality
+
Reliability
+
Latency
+
Cost
+
Compatibility

Do not necessarily combine them into one numerical score.

A dashboard is often more useful:

MetricOld ModelNew ModelResult
Task successBaselineMeasuredCompare
Compilation rateBaselineMeasuredCompare
Test pass rateBaselineMeasuredCompare
LatencyBaselineMeasuredCompare
Token usageBaselineMeasuredCompare
Failure rateBaselineMeasuredCompare

Agent Workflows Need Special Testing

Agent mode introduces additional migration risks.

A normal chat request may look like:

Prompt
 |
 v
Model
 |
 v
Answer

An agent workflow looks more like:

User
 |
 v
Model
 |
 +--> Tool
 |
 +--> Tool
 |
 +--> Tool
 |
 v
Final Result

A model migration can therefore affect:

  • Tool selection

  • Tool arguments

  • Number of tool calls

  • Planning behavior

  • Recovery from failures

  • Final synthesis

For agent workflows, record the execution trace.

Compare Agent Traces

For the old model:

Request
 |
 +--> Search
 |
 +--> Read file
 |
 +--> Modify code
 |
 +--> Run test
 |
 v
Result

The replacement might do:

Request
 |
 +--> Search
 |
 +--> Read file
 |
 +--> Modify code
 |
 v
Result

The output might look acceptable, but the missing test execution could represent a serious regression.

Therefore, agent migration testing should compare behavioral traces, not only final responses.

Testing Tool Selection

For tool-using workflows, measure:

Tool Selection Accuracy
Argument Accuracy
Tool Call Count
Failed Tool Calls
Recovery Rate
Final Task Success

A model that produces excellent prose but repeatedly chooses the wrong tool is not a successful replacement for an agent workflow.

Testing Prompt Compatibility

A migration is a good opportunity to review prompts.

Avoid unnecessarily model-specific instructions.

Instead of:

Behave exactly like Model X...

prefer requirements:

Return production-ready C# code.

Requirements:
- Use async APIs.
- Support cancellation.
- Handle failures explicitly.
- Include unit tests.

This describes the desired behavior rather than attempting to control the internal behavior of a particular model.

Testing Structured Output

If your workflow expects structured output, test the schema directly.

For example:

{
  "summary": "string",
  "severity": "string",
  "recommendations": []
}

Validate:

JSON validity
Schema validity
Required fields
Enum values
Array structure
Null handling

A model migration that produces valid natural-language responses but invalid structured output is still a regression.

Measure Latency

Model replacements can change response time.

Record:

Time to first token
Total response time
Tool-call latency
Agent completion time

For interactive development tools, time-to-first-token can be particularly important.

For autonomous agents, total completion time may matter more.

Measure Cost

If your organization tracks AI usage, compare:

Input tokens
Output tokens
Requests
Retries
Tool calls
Total model cost

Do not assume the suggested replacement has the same cost profile.

The migration decision should consider the actual workload.

Enterprise Model Policies

Model availability can depend on Copilot plan and administrative policy.

GitHub's documentation states that available models depend on the Copilot plan and where Copilot is being used.

GitHub also provides model policies for enterprise environments. Administrators may need to enable alternative models before users can select them.

Therefore, migration testing should happen in an environment that resembles production.

A developer testing a model personally does not necessarily prove that an enterprise team can use it.

Default Model Availability Matters

GitHub has also introduced default model availability policies for Copilot Business and Enterprise.

The policy controls whether unconfigured generally available models default to enabled or disabled. GitHub says new and unconfigured GA models will follow the configured default beginning August 26, 2026.

This creates another migration consideration:

Model Available
       |
       v
Policy Allows It?
       |
   +---+---+
   |       |
  Yes      No
   |       |
   v       v
Use      Blocked

A technically valid migration can still fail operationally if enterprise policy does not expose the replacement.

Base and LTS Models

For longer-lived enterprise workflows, model lifecycle strategy is important.

GitHub documents the concepts of base models and long-term support models for Copilot Business and Enterprise. GitHub states that GPT-5.3-Codex was designated as both a base and LTS model on March 18, 2026, with LTS support intended to provide a longer stability window.

This suggests an important migration strategy:

Short-lived Model
       |
       v
Frequent Migration

LTS Model
       |
       v
Longer Stability Window

Teams with highly standardized workflows should consider lifecycle stability alongside raw model capability.

Canary Migration

Do not migrate every developer simultaneously.

A safer approach is:

Replacement Model
       |
       v
5% Users
       |
       v
Measure
       |
       v
25% Users
       |
       v
Measure
       |
       v
100% Users

During the canary phase, monitor:

  • Error reports

  • Developer feedback

  • Task success

  • Agent failures

  • Latency

  • Model availability

This gives the team an opportunity to detect unexpected behavioral changes.

Rollback Planning

Every migration should have a rollback strategy.

However, rollback may not always be possible after the retirement date.

Therefore, the practical rollback point is often:

Before Deprecation
       |
       v
Old + New Model Available
       |
       v
Migration Validation
       |
       v
Cutover

Do not wait until the retiring model disappears before discovering that the replacement has a critical regression.

Common Migration Mistakes

Changing the Model Name and Stopping There

A replacement model may behave differently.

Testing Only One Prompt

One successful prompt does not establish compatibility.

Comparing Only Final Text

Agent traces and tool usage can reveal regressions hidden by the final response.

Ignoring Enterprise Policies

The replacement model may not be enabled for your organization.

Ignoring Cost

A technically better model may be operationally more expensive.

Ignoring Developer Experience

For Copilot, perceived responsiveness and code-edit quality matter.

Waiting Until the Retirement Date

Migration should happen while both models are available.

Recommended Migration Checklist

[ ] Inventory retiring-model usage
[ ] Identify critical workflows
[ ] Collect representative prompts
[ ] Capture baseline outputs
[ ] Identify replacement models
[ ] Verify enterprise policy availability
[ ] Run regression tests
[ ] Test agent workflows
[ ] Validate tool selection
[ ] Measure latency
[ ] Measure token usage
[ ] Measure cost
[ ] Run canary migration
[ ] Collect developer feedback
[ ] Document final model mapping
[ ] Complete migration before retirement

A Practical Migration Architecture

For teams managing many AI workflows, maintain a logical model alias rather than embedding a model name everywhere.

For example:

public static class AiModelPolicy
{
    public const string CodingAssistant = "current-coding-model";
    public const string ReasoningAssistant = "current-reasoning-model";
}

The exact implementation depends on the application, but the principle is important.

Instead of:

100 places
   |
   +--> OldModelName

aim for:

100 places
   |
   +--> Logical Model Role
             |
             v
       Current Model

This reduces future migration effort.

Advantages and Disadvantages

Advantages of a Structured Migration

  • Reduces unexpected regressions.

  • Makes model changes measurable.

  • Provides evidence for replacement decisions.

  • Improves long-term AI governance.

  • Creates reusable evaluation datasets.

  • Makes future migrations easier.

Disadvantages

  • Requires testing infrastructure.

  • Behavioral compatibility is harder to prove than API compatibility.

  • Agent workflows require more extensive testing.

  • Enterprise policy can add operational dependencies.

  • Some model-specific behavior may not have a direct replacement.

Final Thoughts

GitHub Copilot model retirement is not simply a configuration change. A model can disappear while the surrounding workflow continues to function, making behavioral regressions much harder to detect than traditional dependency failures.

The September 1, 2026 Copilot retirements make this particularly relevant for teams using Claude Opus 4.5, Claude Opus 4.6, Claude Sonnet 4.5, Claude Sonnet 4.6, Gemini 3.1 Pro, or Raptor mini. GitHub has already published suggested replacement models, but each organization should validate those replacements against its own prompts, agent workflows, tool usage, quality requirements, latency targets, and enterprise policies.

The safest strategy is to treat AI model migration like a behavioral compatibility project: inventory dependencies, capture a baseline, test representative workloads, validate agent traces, measure cost and latency, run a controlled rollout, and complete the migration while the old model is still available.

For teams building serious AI-assisted development workflows, model lifecycle management should become part of normal engineering operations rather than an emergency task performed when a model is about to disappear.