{"id":1375,"date":"2026-07-14T18:00:00","date_gmt":"2026-07-14T17:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1375"},"modified":"2026-07-14T18:00:00","modified_gmt":"2026-07-14T17:00:00","slug":"github-models-is-shutting-down-on-july-30","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/","title":{"rendered":"GitHub Models Is Shutting Down on July 30"},"content":{"rendered":"<p>GitHub Models is not merely being deprecated at some vague point in the future. It is shutting down on 30 July 2026. If a prototype, workflow, or internal tool still calls its inference API, the useful response is to find that dependency now rather than discover it through a production error at the end of the month.<\/p>\n<p>GitHub&#8217;s <a href=\"https:\/\/github.blog\/changelog\/2026-07-01-github-models-is-being-fully-retired-on-july-30-2026\/\">retirement notice<\/a> says the playground, model catalogue, inference API, and bring-your-own-key endpoints will all go away. There are also planned brownouts on 16 and 23 July, when requests will temporarily fail. GitHub points general model-access workloads towards Microsoft Foundry and GitHub-native development workflows towards Copilot.<\/p>\n<p>The brownouts are a useful forced test if you treat them that way. Search repositories and deployment configuration for the endpoint and credentials, identify the owner of each caller, then make sure failure is visible rather than silently swallowed. A replacement is not complete just because the first request works; model names, limits, authentication, response shapes, cost controls, and data-handling rules all need checking.<\/p>\n<p>This is also a reminder not to build around a convenient preview as if it were permanent infrastructure. Previews are great for proving an idea. Once the idea matters, the provider boundary needs to be explicit enough that a shutdown is a migration, not a rewrite.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitHub Models closes on July 30, with brownouts first, so this is a migration deadline rather than a product update to read later.<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[25],"tags":[30,155,198,199],"class_list":["post-1375","post","type-post","status-publish","format-standard","hentry","category-software-engineer","tag-ai","tag-github","tag-github-models","tag-migration"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GitHub Models Is Shutting Down on July 30 - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitHub Models Is Shutting Down on July 30 - wade.one\" \/>\n<meta property=\"og:description\" content=\"GitHub Models closes on July 30, with brownouts first, so this is a migration deadline rather than a product update to read later.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-14T17:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"GitHub Models Is Shutting Down on July 30\",\"datePublished\":\"2026-07-14T17:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/\"},\"wordCount\":217,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"keywords\":[\"ai\",\"github\",\"github-models\",\"migration\"],\"articleSection\":[\"Software Engineer\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/\",\"name\":\"GitHub Models Is Shutting Down on July 30 - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-14T17:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/07\\\/14\\\/github-models-is-shutting-down-on-july-30\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GitHub Models Is Shutting Down on July 30\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GitHub Models Is Shutting Down on July 30 - wade.one","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/","og_locale":"en_GB","og_type":"article","og_title":"GitHub Models Is Shutting Down on July 30 - wade.one","og_description":"GitHub Models closes on July 30, with brownouts first, so this is a migration deadline rather than a product update to read later.","og_url":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/","og_site_name":"wade.one","article_published_time":"2026-07-14T17:00:00+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/"},"author":{"name":"","@id":""},"headline":"GitHub Models Is Shutting Down on July 30","datePublished":"2026-07-14T17:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/"},"wordCount":217,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"keywords":["ai","github","github-models","migration"],"articleSection":["Software Engineer"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/","url":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/","name":"GitHub Models Is Shutting Down on July 30 - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2026-07-14T17:00:00+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/07\/14\/github-models-is-shutting-down-on-july-30\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"GitHub Models Is Shutting Down on July 30"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1303,"url":"https:\/\/wade.one\/blog\/2026\/05\/15\/github-agent-hq-makes-ai-coding-a-platform-choice\/","url_meta":{"origin":1375,"position":0},"title":"GitHub Agent HQ Makes AI Coding a Platform Choice","author":"","date":"May 15, 2026","format":false,"excerpt":"GitHub adding Claude and Codex agent choices is a sign that AI coding is becoming a platform layer, not just a model picker.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1329,"url":"https:\/\/wade.one\/blog\/2026\/06\/02\/github-copilot-coding-agent-needs-workflow-rules-not-just-access\/","url_meta":{"origin":1375,"position":1},"title":"GitHub Copilot Coding Agent Needs Workflow Rules, Not Just Access","author":"Wade","date":"June 2, 2026","format":false,"excerpt":"GitHub Copilot's coding agent is useful, but I would want explicit workflow rules around permissions, networking, and review before giving it real access.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1237,"url":"https:\/\/wade.one\/blog\/2026\/04\/26\/ai-code-review-should-reduce-noise-not-add-more-comments\/","url_meta":{"origin":1375,"position":2},"title":"AI Code Review Should Reduce Noise, Not Add More Comments","author":"Wade","date":"April 26, 2026","format":false,"excerpt":"The best use of AI in code review is not adding more comments. It is finding the few things that actually matter.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1239,"url":"https:\/\/wade.one\/blog\/2026\/04\/27\/copilot-autopilot-sounds-useful-but-guardrails-matter\/","url_meta":{"origin":1375,"position":3},"title":"Copilot Autopilot Sounds Useful, but Guardrails Matter","author":"","date":"April 27, 2026","format":false,"excerpt":"Autonomous coding sessions can be useful, but only when teams are clear about permissions, tests, and what still needs a human decision.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":878,"url":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","url_meta":{"origin":1375,"position":4},"title":"Heterogeneous Parallel Programming &#8211; Completed and Certified!","author":"Wade","date":"May 15, 2015","format":false,"excerpt":"I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I'm very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and\u2026","rel":"","context":"In &quot;Ego-centric&quot;","block_context":{"text":"Ego-centric","link":"https:\/\/wade.one\/blog\/category\/ego-centric\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":1184,"url":"https:\/\/wade.one\/blog\/2026\/04\/16\/how-i-decide-when-an-api-needs-versioning\/","url_meta":{"origin":1375,"position":5},"title":"How I Decide When an API Needs Versioning","author":"","date":"April 16, 2026","format":false,"excerpt":"API versioning is useful when the contract has really changed, not when a team wants a convenient place to hide messy changes. I usually want the compatibility story to be explicit before I reach for a new version.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1375"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1375\/revisions"}],"predecessor-version":[{"id":1384,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1375\/revisions\/1384"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}