error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
The push is larger than the server or proxy accepts
Seen in git push over HTTPS to self-hosted GitLab, Gitea, Bitbucket or a reverse proxy
A reverse proxy or the Git server rejected the push because the request body exceeded its size limit.
Common causes
- nginx in front of the Git server has a small client_max_body_size (the default is 1 MB).
- The push contains large files or a lot of history in one go.
- A load balancer or ingress controller enforces its own body size limit.
How to fix it
- Raise the limit on the proxy, e.g. client_max_body_size 512m; in nginx (or the nginx.ingress.kubernetes.io/proxy-body-size annotation), then reload.
- Push over SSH instead, which avoids HTTP body limits.
- Push in smaller batches of commits, and move large binaries to Git LFS.
Got a different message? Paste it into the error explainer.
Related errors
- error: RPC failed; curl 18 transfer closed with outstanding read data remaining · The connection dropped during a git transfer
- fatal: the remote end hung up unexpectedly · The Git server closed the connection
- kex_exchange_identification: Connection closed by remote host · The SSH server closed the connection before the handshake
- Permission denied (publickey) · The server rejected every SSH key you offered
- Host key verification failed. · SSH couldn't confirm the server's identity
- WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! · The server's SSH host key is different from last time
- Unable to negotiate with 203.0.113.10 port 22: no matching host key type found. Their offer: ssh-rsa · The server only offers an old host key type
- Unable to negotiate with 203.0.113.10 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 · Client and server share no key exchange algorithm
- Received disconnect from 203.0.113.10 port 22:2: Too many authentication failures · The client offered too many keys before the right one
- Connection closed by 203.0.113.10 port 22 · The SSH server ended the session
- npm ERR! code ETIMEDOUT · npm couldn't reach the registry in time
- npm ERR! code ERR_SOCKET_TIMEOUT · The registry connection went silent