Exit Code Reference
v1.0.0Look up POSIX, curl, Node.js, and Docker exit codes with descriptions and common causes.
26 codes found
Program completed successfully.
Cause: Normal termination.
Catch-all for general errors.
Cause: Most script and application errors.
Misuse of shell built-ins (e.g. missing keyword).
Cause: Invalid flags or missing arguments to shell commands.
Permission denied or binary format error.
Cause: Missing execute permission — run chmod +x file.
The command was not found in PATH.
Cause: Typo, not installed, or not in PATH.
Exit called with a non-integer argument.
Cause: exit 3.14 or exit somevariable (non-numeric).
128+2 — script terminated by keyboard interrupt.
Cause: User pressed Ctrl+C.
128+9 — process killed without cleanup.
Cause: kill -9, OOM killer, or container resource limit.
128+15 — graceful termination requested.
Cause: kill command, systemd stop, Docker stop.
Exit code outside the 0–255 range was used.
Cause: exit -1 or exit 300 — wrapped to 255.
Protocol not supported by curl.
Cause: Unrecognised URL scheme.
The URL could not be parsed.
Cause: Bad URL syntax or illegal characters.
The hostname could not be resolved via DNS.
Cause: DNS failure, no network, or hostname typo.
Could not connect to host or proxy.
Cause: Host down, firewall blocking, or wrong port.
HTTP server returned an error status (4xx/5xx).
Cause: Used with --fail / -f flag.
The operation exceeded the specified timeout.
Cause: Slow server or network issues — try --max-time.
SSL/TLS handshake failed.
Cause: Expired cert, self-signed cert, or version mismatch.
Server closed the connection with no reply.
Cause: Server crashed or closed connection prematurely.
Failure when receiving network data.
Cause: Connection reset mid-transfer.
Unhandled exception with no domain or uncaughtException handler.
Cause: Unhandled throw or unhandled promise rejection.
Fatal error in the V8 engine.
Cause: Out of memory or internal V8 assertion failure.
Unknown or invalid option passed to node.
Cause: Unrecognised flag: node --bad-flag app.js
Debug / inspect port already in use.
Cause: --inspect port conflict.
The docker command itself failed to run.
Cause: Docker daemon not running or bad flag.
Contained command exists but is not executable.
Cause: Wrong architecture or missing permissions inside image.
Command not found inside the container image.
Cause: Tool not installed in the image.