protected branch Git Origin: Build & delivery Last updated 13 Oct 2026

remote: error: GH006: Protected branch update failed / pre-receive hook declined

The server rejected your push because of branch protection rules or a server-side hook.

Exact message you may see Protected branch update failedpre-receive hook declinedYou are not allowed to push code to protected branches
Seen on: Git

Meaning

Protected branches can require pull requests, status checks, signed commits or linear history. Force pushes and direct pushes are blocked.

Common causes

  • Direct push to a protected branch
  • Force push blocked
  • Required status checks/reviews missing
  • Unsigned commits where signing is required

⚡ Quick fix

  1. Push to a feature branch and open a pull request
  2. Satisfy required checks/reviews
  3. Ask an admin if you truly need a bypass

Detailed fix by platform

Git

  1. git switch -c fix/login && git push -u origin fix/login

How to diagnose

  1. Rule — Which protection is named in the message?
  2. Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.

🔧 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):

denied — denied: requested access to the resource is denied (docker push) (Docker)deniedGH001 large files — remote: error: GH001: Large files detected. File x is 120 MB; this exceeds GitHub's file size limit of 100.00 MB (Git)GH001 large filesgithub-actions[bot] 403 — remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403 (Git)github-actions[bot] 4…no upstream branch — fatal: The current branch x has no upstream branch. (Git)no upstream branchnon-bare push — ! [remote rejected] main -> main (branch is currently checked out) (Git)non-bare pushnon-fast-forward — Git: ! [rejected] … (fetch first) — error: failed to push some refs (Git)non-fast-forwardRPC failed — error: RPC failed; HTTP 400 curl 22 / curl 92 HTTP/2 stream was not closed cleanly — the remote end hung up unexpectedly (Git)RPC failedshallow update not allowed — ! [remote rejected] main -> main (shallow update not allowed) (Git)shallow update not al…protected…

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.