GitHub Actions: "Get Pages site failed"
The first thing actions/configure-pages does is ask the API for the repository's Pages site. "Get Pages site failed" means that request failed, and the text after Error: says why. Most often it is "Not Found": Pages is not turned on for this repository. No change to the workflow fixes that. Someone with admin access turns it on once in Settings, and the next run goes through.
What it looks like
Error: Get Pages site failed. Please verify that the repository has Pages enabled and configured to build using GitHub Actions, or consider exploring the `enablement` parameter for this action. Error: Not Found - https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site
A workflow without configure-pages gets the same answer one job later, from actions/deploy-pages:
Error: Failed to create deployment (status: 404) with build version <commit>. Ensure GitHub Pages has been enabled: https://github.com/<owner>/<repo>/settings/pages
- The build and the artifact upload before it can pass. Nothing is published, and every run fails at the same step until Pages is on. When enviromech opened an issue on October 31, 2026, every run of its docs workflow since October 9 had failed here (#21).
- If the text after
Error:is "Resource not accessible by integration" instead, Pages may well be on and the job's token lackspages: read("Resource not accessible by integration").
1. Turn Pages on for GitHub Actions
- In the repository, open Settings, then Pages.
- Under Build and deployment, set Source to GitHub Actions.
- Re-run the failed jobs.
configure-pagesasks again and finds the site.
Only a repository administrator, a maintainer, or someone with the "manage GitHub Pages settings" permission can create the site; that is what the REST API documentation lists for it. Without one of those, ask an owner of the repository; the error repeats on every run until someone does it.
2. enablement: true and "Create Pages site failed"
The error suggests the enablement input, and many proposed fixes turn it on. With the default token, that only moves the failure. From a public run on November 2, 2026:
##[warning]Get Pages site failed. Error: Not Found - https://docs.github.com/rest/pages/pages#get-a-apiname-pages-site ##[error]Create Pages site failed. Error: Resource not accessible by integration - https://docs.github.com/rest/pages/pages#create-a-apiname-pages-site
The action's own description of the input says: "This option requires a token other than GITHUB_TOKEN to be provided." A personal access token needs the repo scope or Pages write permission; a GitHub App needs administration:write and pages:write. Adding pages: write under permissions: does not help, because GITHUB_TOKEN cannot create the site at all. An issue asking for the error to say so is open (configure-pages #198).
For one repository, the setting in step 1 is simpler, and it leaves no token with admin rights in your secrets. A token is worth it when automation creates many repositories that should each publish on their first run:
- uses: actions/configure-pages@v6
with:
enablement: true
token: ${{ secrets.PAGES_ENABLE_TOKEN }}
3. A private repository on GitHub Free
GitHub's documentation: "If the account that owns the repository uses GitHub Free or GitHub Free for organizations, the repository must be public." Creating the site is refused with "Your current plan does not support GitHub Pages for this repository." (HTTP 422 from the API, as in jobseekercopilot/infrastructure #75). The ways out are a public repository, a paid plan, or another host; openrouter-model-workbook-maintainer-v2 hit it in Configure Pages and is moving its daily deploy to Vercel (#5).
4. Forks
A fork does not have the original's Pages site. If the deploy workflow runs on every push to main, it fails in each fork that pushes there, and the fork's owner sees a red run they did not cause. codebase-memory-mcp proposed limiting the job to its own repository (#2615):
jobs:
deploy:
if: github.repository == 'octo-org/octo-site'
runs-on: ubuntu-latest
Someone who wants the site in their fork can turn Pages on there as in step 1 and drop the condition in their copy.
Telling it apart
Failed to create deployment (status: 403)with "Ensure GITHUB_TOKEN has permission "pages: write"": Pages is on, and the deploy job lackspages: write(it also needsid-token: write).- "Branch "…" is not allowed to deploy to github-pages due to environment protection rules.": Pages is on, and the
github-pagesenvironment limits which branches can deploy. Look under Settings, Environments, github-pages ("not allowed to deploy to github-pages"). - No error, and the site does not change: Source is "Deploy from a branch", and the workflow pushes to that branch with
GITHUB_TOKEN. GitHub's documentation says those pushes "do not trigger a GitHub Pages build". Switch Source to GitHub Actions and deploy withdeploy-pages.
See failed jobs from IntelliJ IDEA
Pipeline Inbox for GitHub Actions Workflows, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the runs of all your repositories in an IDE tool window, with their jobs and steps, and your current branch's runs are in the status bar. Reading is free; re-running failed jobs, cancelling, running workflows and reviewing deployments are Pro (US$1.50 a month, with a 30-day trial).
GitHub, GitHub Actions and GitHub Pages are trademarks of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with, sponsored or endorsed by GitHub, Inc. or JetBrains.
More: "Resource not accessible by integration" · "Permission to … denied to github-actions[bot]" · "Unable to process file command" · GitHub Actions plugins for IntelliJ IDEA compared · 日本語