curl Exit Code 35 in CI: SSL/TLS Handshake Failure
curl exit code 35 means the SSL/TLS handshake failed before any data could be exchanged.
A step exiting 35 from curl connected at the TCP level but could not negotiate a secure session.
What it means
Exit 35 is curl's CURLE_SSL_CONNECT_ERROR. The TLS handshake failed - a protocol version mismatch, an unsupported cipher, or an interrupted negotiation.
Common causes
- The server requires a TLS version the client disabled (or vice versa).
- A cipher/curve mismatch.
- A MITM proxy interfering with the handshake.
How to fix it
Run with -v to see the handshake detail, align TLS versions/ciphers, and update the CA bundle or curl/OpenSSL version. A momentarily flaky handshake can clear on retry.
Related guides
Exit Codes and Signals in CI/CD: A Practical GuideA practical guide to process exit codes and signals in CI/CD - what 1, 2, 124, 126, 127, 130, 137, and 143 me…
CI Exit Code Lookup: What Does This Exit Code Mean?Instant lookup for CI/CD process exit codes - enter a code (137, 127, 143…) to see what it means, whether it…