{"id":94826,"date":"2026-03-26T07:30:13","date_gmt":"2026-03-26T14:30:13","guid":{"rendered":"https:\/\/github.blog\/changelog\/2026-03-25-custom-images-for-github-hosted-runners-are-now-generally-available"},"modified":"2026-03-26T09:49:33","modified_gmt":"2026-03-26T16:49:33","slug":"custom-images-for-github-hosted-runners-are-now-generally-available","status":"publish","type":[3521],"link":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available","title":{"rendered":"Custom images for GitHub-hosted runners are now generally available"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>Custom images for GitHub-hosted runners are now generally available. Originally introduced in <a href=\"https:\/\/github.blog\/changelog\/2025-10-28-custom-images-for-github-hosted-runners-are-now-available-in-public-preview\/\">public preview<\/a> in October 2025, this feature lets you start with a GitHub-curated base image and build your own virtual machine image tailored to your workflow needs.<\/p>\n<p>By defining your runner environment up front with preinstalled tools, dependencies, certificates, and configurations, you can create faster, more consistent, and more secure workflows while reducing setup time and operational overhead. Custom images also give organizations greater control over how build environments are standardized, updated, and governed at scale.<\/p>\n<p>If you&rsquo;ve been using custom images during the public preview, no action is required. Your existing images and workflows will continue to work as-is.<\/p>\n<p>For detailed instructions, advanced configuration options, and troubleshooting tips, see our official documentation:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.github.com\/actions\/how-tos\/manage-runners\/larger-runners\/manage-larger-runners\">Managing larger runners<\/a> <\/li>\n<li><a href=\"https:\/\/docs.github.com\/actions\/how-tos\/manage-runners\/larger-runners\/use-custom-images\">Using custom images<\/a><\/li>\n<\/ul>\n<p>You&rsquo;ll find step-by-step guides, workflow examples, and best practices for using custom images with GitHub-hosted runners.<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Custom images for GitHub-hosted runners are now generally available. Originally introduced in public preview in October 2025, this feature lets you start with a GitHub-curated base image and build your&hellip;<\/p>\n","protected":false},"author":2106,"featured_media":0,"template":"","meta":{"_gh_post_show_toc":"","_gh_post_is_no_robots":"","_gh_post_is_featured":"","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","footnotes":"","_links_to":"","_links_to_target":"","primary_cta":"","primary_cta_url":"","secondary_cta":"","secondary_cta_url":""},"label":[1836],"group":[3810],"coauthors":[3100],"class_list":["post-94826","changelog","type-changelog","status-publish","hentry","changelog-type-new-releases","changelog-label-actions","changelog-group-03-2026"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Custom images for GitHub-hosted runners are now generally available - GitHub Changelog<\/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:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Custom images for GitHub-hosted runners are now generally available \u00b7 GitHub Changelog\" \/>\n<meta property=\"og:description\" content=\"Custom images for GitHub-hosted runners are now generally available. Originally introduced in public preview in October 2025, this feature lets you start with a GitHub-curated base image and build your&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-26T16:49:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/03\/CustomImages_NewRelease_Unfurl_TextOnly.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n\t<meta name=\"twitter:label2\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data2\" content=\"Allison\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\\\/\",\"name\":\"Custom images for GitHub-hosted runners are now generally available - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"datePublished\":\"2026-03-26T14:30:13+00:00\",\"dateModified\":\"2026-03-26T16:49:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/changelog\\\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/changelog\\\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changelogs\",\"item\":\"https:\\\/\\\/github.blog\\\/changelog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Custom images for GitHub-hosted runners are now generally available\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Custom images for GitHub-hosted runners are now generally available - GitHub Changelog","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:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/","og_locale":"en_US","og_type":"article","og_title":"Custom images for GitHub-hosted runners are now generally available \u00b7 GitHub Changelog","og_description":"Custom images for GitHub-hosted runners are now generally available. Originally introduced in public preview in October 2025, this feature lets you start with a GitHub-curated base image and build your&hellip;","og_url":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/","og_site_name":"The GitHub Blog","article_modified_time":"2026-03-26T16:49:33+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/03\/CustomImages_NewRelease_Unfurl_TextOnly.jpg","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute","Written by":"Allison"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/","url":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/","name":"Custom images for GitHub-hosted runners are now generally available - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"datePublished":"2026-03-26T14:30:13+00:00","dateModified":"2026-03-26T16:49:33+00:00","breadcrumb":{"@id":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/changelog\/2026-03-26-custom-images-for-github-hosted-runners-are-now-generally-available\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Changelogs","item":"https:\/\/github.blog\/changelog\/"},{"@type":"ListItem","position":3,"name":"Custom images for GitHub-hosted runners are now generally available"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/94826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/changelog"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2106"}],"version-history":[{"count":1,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/94826\/revisions"}],"predecessor-version":[{"id":94839,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/changelogs\/94826\/revisions\/94839"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=94826"}],"wp:term":[{"taxonomy":"changelog-type","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/type?post=94826"},{"taxonomy":"changelog-label","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/label?post=94826"},{"taxonomy":"changelog-group","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/group?post=94826"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=94826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}