xref: /curl/docs/cmdline-opts/_EXITCODES.md (revision 3040971d)
1<!-- Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. -->
2<!-- SPDX-License-Identifier: curl -->
3# EXIT CODES
4There are a bunch of different error codes and their corresponding error
5messages that may appear under error conditions. At the time of this writing,
6the exit codes are:
7## 0
8Success. The operation completed successfully according to the instructions.
9## 1
10Unsupported protocol. This build of curl has no support for this protocol.
11## 2
12Failed to initialize.
13## 3
14URL malformed. The syntax was not correct.
15## 4
16A feature or option that was needed to perform the desired request was not
17enabled or was explicitly disabled at build-time. To make curl able to do
18this, you probably need another build of libcurl.
19## 5
20Could not resolve proxy. The given proxy host could not be resolved.
21## 6
22Could not resolve host. The given remote host could not be resolved.
23## 7
24Failed to connect to host.
25## 8
26Weird server reply. The server sent data curl could not parse.
27## 9
28FTP access denied. The server denied login or denied access to the particular
29resource or directory you wanted to reach. Most often you tried to change to a
30directory that does not exist on the server.
31## 10
32FTP accept failed. While waiting for the server to connect back when an active
33FTP session is used, an error code was sent over the control connection or
34similar.
35## 11
36FTP weird PASS reply. Curl could not parse the reply sent to the PASS request.
37## 12
38During an active FTP session while waiting for the server to connect back to
39curl, the timeout expired.
40## 13
41FTP weird PASV reply, Curl could not parse the reply sent to the PASV request.
42## 14
43FTP weird 227 format. Curl could not parse the 227-line the server sent.
44## 15
45FTP cannot use host. Could not resolve the host IP we got in the 227-line.
46## 16
47HTTP/2 error. A problem was detected in the HTTP2 framing layer. This is
48somewhat generic and can be one out of several problems, see the error message
49for details.
50## 17
51FTP could not set binary. Could not change transfer method to binary.
52## 18
53Partial file. Only a part of the file was transferred.
54## 19
55FTP could not download/access the given file, the RETR (or similar) command
56failed.
57## 21
58FTP quote error. A quote command returned error from the server.
59## 22
60HTTP page not retrieved. The requested URL was not found or returned another
61error with the HTTP error code being 400 or above. This return code only
62appears if --fail is used.
63## 23
64Write error. Curl could not write data to a local filesystem or similar.
65## 25
66Failed starting the upload. For FTP, the server typically denied the STOR
67command.
68## 26
69Read error. Various reading problems.
70## 27
71Out of memory. A memory allocation request failed.
72## 28
73Operation timeout. The specified time-out period was reached according to the
74conditions.
75## 30
76FTP PORT failed. The PORT command failed. Not all FTP servers support the PORT
77command, try doing a transfer using PASV instead.
78## 31
79FTP could not use REST. The REST command failed. This command is used for
80resumed FTP transfers.
81## 33
82HTTP range error. The range "command" did not work.
83## 34
84HTTP post error. Internal post-request generation error.
85## 35
86SSL connect error. The SSL handshaking failed.
87## 36
88Bad download resume. Could not continue an earlier aborted download.
89## 37
90FILE could not read file. Failed to open the file. Permissions?
91## 38
92LDAP cannot bind. LDAP bind operation failed.
93## 39
94LDAP search failed.
95## 41
96Function not found. A required LDAP function was not found.
97## 42
98Aborted by callback. An application told curl to abort the operation.
99## 43
100Internal error. A function was called with a bad parameter.
101## 45
102Interface error. A specified outgoing interface could not be used.
103## 47
104Too many redirects. When following redirects, curl hit the maximum amount.
105## 48
106Unknown option specified to libcurl. This indicates that you passed a weird
107option to curl that was passed on to libcurl and rejected. Read up in the
108manual.
109## 49
110Malformed telnet option.
111## 52
112The server did not reply anything, which here is considered an error.
113## 53
114SSL crypto engine not found.
115## 54
116Cannot set SSL crypto engine as default.
117## 55
118Failed sending network data.
119## 56
120Failure in receiving network data.
121## 58
122Problem with the local certificate.
123## 59
124Could not use specified SSL cipher.
125## 60
126Peer certificate cannot be authenticated with known CA certificates.
127## 61
128Unrecognized transfer encoding.
129## 63
130Maximum file size exceeded.
131## 64
132Requested FTP SSL level failed.
133## 65
134Sending the data requires a rewind that failed.
135## 66
136Failed to initialize SSL Engine.
137## 67
138The username, password, or similar was not accepted and curl failed to log in.
139## 68
140File not found on TFTP server.
141## 69
142Permission problem on TFTP server.
143## 70
144Out of disk space on TFTP server.
145## 71
146Illegal TFTP operation.
147## 72
148Unknown TFTP transfer ID.
149## 73
150File already exists (TFTP).
151## 74
152No such user (TFTP).
153## 77
154Problem reading the SSL CA cert (path? access rights?).
155## 78
156The resource referenced in the URL does not exist.
157## 79
158An unspecified error occurred during the SSH session.
159## 80
160Failed to shut down the SSL connection.
161## 82
162Could not load CRL file, missing or wrong format (added in 7.19.0).
163## 83
164Issuer check failed (added in 7.19.0).
165## 84
166The FTP PRET command failed.
167## 85
168Mismatch of RTSP CSeq numbers.
169## 86
170Mismatch of RTSP Session Identifiers.
171## 87
172Unable to parse FTP file list.
173## 88
174FTP chunk callback reported error.
175## 89
176No connection available, the session is queued.
177## 90
178SSL public key does not matched pinned public key.
179## 91
180Invalid SSL certificate status.
181## 92
182Stream error in HTTP/2 framing layer.
183## 93
184An API function was called from inside a callback.
185## 94
186An authentication function returned an error.
187## 95
188A problem was detected in the HTTP/3 layer. This is somewhat generic and can
189be one out of several problems, see the error message for details.
190## 96
191QUIC connection error. This error may be caused by an SSL library error. QUIC
192is the protocol used for HTTP/3 transfers.
193## 97
194Proxy handshake error.
195## 98
196A client-side certificate is required to complete the TLS handshake.
197## 99
198Poll or select returned fatal error.
199## 100
200A value or data field grew larger than allowed.
201## XX
202More error codes might appear here in future releases. The existing ones are
203meant to never change.
204