Exit Code Reference
v1.0.1Look up POSIX, curl, Node.js, and Docker exit codes with descriptions and common causes.
Reference for Unix/Linux process exit codes and Windows error codes — lists standard exit codes (0–255), well-known shell exit codes, signal-terminated exit values, and their meanings.
How to use- →Enter a numeric exit code (e.g. 127, 139) to look up its meaning and common causes.
- →Browse the standard ranges table (0 = success, 1 = general error, 128+N = killed by signal N) for quick orientation.
- →Use the signal section to map exit codes like 130 (SIGINT) or 137 (SIGKILL) to the triggering signal.
- →Filter by Unix, Windows, or shell-specific codes to focus on the platform you are working on.
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.