Failed to create deployment (Pages not enabled) CI/CD Origin: Build & delivery Last updated 25 Oct 2026

GitHub Actions: Error: Failed to create deployment (status: 404) — Ensure GitHub Pages has been enabled

The Pages deploy step cannot create a deployment because Pages is not enabled for the repository, or is not set to "GitHub Actions" as its source.

Exact message you may see Failed to create deployment (status: 404)Ensure GitHub Pages has been enabledGet Pages site failed. Please verify that the repository has Pages enabledError: Failed to create deploymentCreate Pages site failed
Seen on: GitHub Actions

Meaning

actions/deploy-pages needs Pages enabled with Source = GitHub Actions, plus permissions pages: write and id-token: write, and an environment: github-pages. A 404 almost always means the setting is missing; a 403 means permissions or branch protection on the environment.

Common causes

  • Pages not enabled, or source set to "Deploy from a branch" instead of "GitHub Actions"
  • Missing pages: write / id-token: write permissions
  • Job lacks environment: github-pages
  • Environment protection rules forbid the branch
  • Repository is private on a plan without Pages

⚡ Quick fix

  1. Settings → Pages → Source: GitHub Actions
  2. Add permissions: { pages: write, id-token: write }
  3. Set environment: name: github-pages

Detailed fix by platform

GitHub Actions

  1. Use the official trio: actions/configure-pages, actions/upload-pages-artifact, actions/deploy-pages

Code examples

Pages deployment job

yaml
permissions:
  contents: read
  pages: write
  id-token: write
jobs:
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.dep.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/deploy-pages@v4
        id: dep

How to diagnose

  1. Setting — Pages source set to GitHub Actions?
  2. Permissions — pages and id-token write?
  3. Environment — github-pages allowed for this branch?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Build & delivery. Errors that are often confused with or caused by this one (click to open):

API rate limit exceeded — GitHub Actions: HttpError: API rate limit exceeded for installation ID 123456 / secondary rate limit (CI/CD)API rate limit exceed…Cache not found / Unable to reserve cache — GitHub Actions: Cache not found for input keys: npm-Linux-abc123 / Failed to save: Unable to reserve cache with key, another job may be creating this cache (CI/CD)Cache not found / Una…Credentials could not be loaded — GitHub Actions: Error: Credentials could not be loaded, please check your action inputs: Could not load credentials from any providers (CI/CD)Credentials could not…Resource not accessible by integration — GitHub Actions: Error: Resource not accessible by integration (403) (CI/CD)Resource not accessib…Unable to download artifact — GitHub Actions: Error: Unable to download artifact(s): Artifact not found for name: build (CI/CD)Unable to download ar…Unable to get ACTIONS_ID_TOKEN_REQUEST_URL — GitHub Actions: Error: Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable (CI/CD)Unable to get ACTIONS…Waiting for a runner to pick up this job — GitHub Actions: Waiting for a runner to pick up this job… (job stays queued — No runner matching the specified labels) (CI/CD)Waiting for a runner …Failed to…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.