GitHub Copilot Retires Three Models on 16 November
Claude Opus 4.8, Claude Opus 5 and GPT-5.6 Terra stop working in Copilot on 16 November, so pinned prompts and agent configs must move first.
On 16 November 2026, three models stop working in GitHub Copilot: Claude Opus 4.8, Claude Opus 5 and GPT-5.6 Terra. That is the date to diarise. Anything pinned to one of them — a saved prompt, a custom agent configuration, a CI job that names a model, a runbook that tells a new hire which dropdown entry to pick — is on a clock that expires in a month, and the failure mode is not a degraded answer. It is the model being gone.
GitHub published the notice in its changelog on 15 October, and the retirement applies across every Copilot experience rather than to one surface. Chat, inline edits, the ask and agent modes and code completions are all in scope. There is no setting that keeps a deprecated model alive for the surfaces above, and GitHub's wording on the mechanics is blunt: no action is required to remove the models after they have been deprecated. The removal happens on the vendor side either way.
The replacements, and who is exempt
GitHub names the suggested substitutes directly. Claude Opus 5.5 replaces the two Anthropic models, and GPT-6.1 Sol or GPT-6 Luna replaces GPT-5.6 Terra. Teams that have been waiting for a reason to re-baseline their evaluation suite have one, because the replacement is not a version bump within a family. Moving from Claude Opus 5 to Claude Opus 5.5 keeps the vendor and the family; moving from GPT-5.6 Terra to GPT-6.1 Sol or GPT-6 Luna does not.
There is one exception, and it is narrower than it first reads. Claude Opus 4.8 will remain available to individual GitHub Copilot subscribers on annual plans. If you are an individual subscriber who pays annually, that model is not part of your 16 November problem. If you are on a monthly individual plan, or on a Business or Enterprise plan, it is. The exemption is about the model and the billing arrangement, not about a grace period for everybody.
GitHub also describes what happens on the enterprise side. Under default model enablement, the alternatives are enabled automatically for Copilot Enterprise and Copilot Business, unless an administrator has disabled the global default. That detail matters more than it looks. In an organisation that has deliberately curated which models are available, whether for data-handling reasons, for cost reasons or because a review board signed off on a specific list, the replacement models may not appear on their own, and the migration becomes an administrative task rather than a waiting game.
Why a model deprecation is a migration and not a notification
Most platform deprecations are announcements you can read and forget, because the default path keeps working. Model retirements in a coding assistant are different for a structural reason: people configure them. The whole point of choosing a model in Copilot is that different models behave differently on the same task, and teams that noticed that difference encoded it into their tooling. Once a name is hard-coded somewhere, the retirement is a breaking change for that configuration.
The places a model name hides are rarely the obvious ones. It is in the agent definition a team built for triaging issues. It is in the script that opens a review with a particular model because that model was better at a specific class of bug. It is in the internal documentation that a support engineer follows at 2am, which will send them looking for a dropdown entry that no longer exists. It is in the ticket template that says which model produced a draft, so the draft can be re-derived later.
None of those are exotic. They are the ordinary residue of a team deciding that a tool works better one way than another, and every one of them fails quietly. A configuration referencing a retired model does not usually throw a clear error on the day; it resolves to whatever the default is, and work continues with output that is different in ways nobody has measured.
There is a second-order problem that only shows up later, and it is about reproducibility. If a model name is recorded in a ticket, a changelog entry or a review comment as the thing that produced a change, that record becomes unverifiable once the model is gone. Someone asking six months from now why a particular refactor was done the way it was can read the explanation, but cannot re-run the prompt against the same model to see what it was working from. Teams that care about that trail should capture the reasoning while the model is still available, because the window closes on 16 November rather than on some future audit date.
What to do before 16 November
Start by finding every place a model name appears. Search your repositories, your CI configuration, your prompt templates and your internal documentation for the three names, Claude Opus 4.8, Claude Opus 5 and GPT-5.6 Terra, and for the identifiers those names map to in any API calls you make. The string search is cheap, and it catches the cases that a review of the Copilot settings page misses entirely, because the settings page only shows what your account currently has enabled.
Then decide the replacement deliberately rather than accepting a default. For anything pinned to an Anthropic model, the path is Claude Opus 5.5 and the evaluation work is mostly a re-run. For GPT-5.6 Terra, you have two candidates, and the choice between GPT-6.1 Sol and GPT-6 Luna is a decision your team should make against your own tasks rather than against a benchmark chart. Pick one, run your existing eval set against it, and record what changed. If the difference is material, that is a finding worth writing down before the old model disappears and you lose the comparison.
Check your enablement settings next, and do it before the deprecation date rather than on it. If you are a Copilot Enterprise or Business administrator and you have disabled the global default for model enablement, the replacement models will not appear for your users unless you add them. Verify that now, because the failure will otherwise present as users reporting that their model choices have shrunk and nobody knowing why.
Finally, update the human-facing documentation. The models that are going away are the ones currently written into whatever your team reads when it needs to pick one. Leaving those instructions in place after 16 November converts a vendor change into a support burden, and the cost lands on whoever is least likely to know that a model was retired at all.
One thing you do not have to do is remove the models yourself. GitHub states that no action is required to remove them once they have been deprecated, so any cleanup you do in account settings is housekeeping rather than a prerequisite. The work that matters is on your side of the boundary: the configurations, the prompts and the documentation that name a model which will not answer after 16 November.
The cost of being surprised by this
The reason to treat the date as a deadline rather than a notification is that the failure is asymmetric. Doing the migration early costs a re-run of an evaluation suite and an afternoon of editing configuration, and it buys a comparison between the old model and the new one while both are still available. Doing it late costs the comparison and replaces it with an unexplained difference in output that nobody has a baseline for. The second is strictly worse, and it is what happens to every team that reads the changelog on 17 November.
There is a version of this that is worth naming for administrators specifically. In a large organisation, the person who reads the changelog is rarely the person who owns the prompt library, and the person who owns the prompt library is rarely the person who can change model enablement. A retirement notice only becomes a migration if somebody turns it into tickets for each of those people. Otherwise it circulates, gets acknowledged, and arrives as an incident on the date the models disappear.
What the deprecation list says about the current generation
A retirement schedule is also a statement about what a vendor considers current, and this one is unusually legible. Three models that were the default choice for a lot of serious work in the last cycle are being turned off in favour of Claude Opus 5.5 and the GPT-6 generation. Whatever the marketing language around any individual release, the list is the operational version of that claim: these are the models GitHub is willing to keep running.
For teams that plan capacity or budget around Copilot, the practical inference is that the cadence has not slowed. If a model you adopted within the last generation is being retired this quickly, treat any model pin as a temporary arrangement that needs a review date attached to it rather than as a settled technical decision. The teams that handle the next one of these gracefully will be the ones that wrote down why they picked their model in the first place, because that note is what makes the replacement choice a five-minute decision instead of a fresh evaluation.
Primary sources
More from the wire
Python 3.15 Makes UTF-8 the Default, and Breaks What Assumed Otherwise
UTF-8 is now the default text encoding, so code that relied on the locale encoding will read or write different bytes than it did on 3.14.
GitHub's Agentic Autofix Is Now Generally Available, and Metered
Agentic autofix is GA and metered: each fix draws AI Credits from the Code Security budget plus Actions minutes, replacing the free Generate Fix.
Interop 2027 Opens, and the 2026 Numbers Say the Web Is Converging
Chrome and Edge pass 98 percent of the Interop 2026 tests, Firefox 96 and Safari 92, and that gap names where cross-browser work still sits.