The CodeQL CLI reports the status of each command it runs as an exit code. This exit code provides information for subsequent commands or for other tools that rely on the CodeQL CLI.
Success, normal termination.
The command successfully determined that the answer to your question is "no".
Something went wrong.
The CLI writes a human-readable error message to stderr.
This includes cases where an extractor fails with an internal error, because the
codeql driver can’t distinguish between internal and user-facing errors in extractor behavior.
The launcher was unable to find the CodeQL installation directory.
In this case, the launcher can’t start the Java code for the CodeQL CLI at all. This should only happen when something is severely wrong with the CodeQL installation.
One or more query evaluations timed out.
It’s possible that some queries that were evaluated in parallel didn’t time out. The results for those queries are produced as usual.
Evaluation was explicitly canceled.
The CodeQL CLI ran out of memory.
This doesn’t necessarily mean that all the machine’s physical RAM has been used.
If you don’t use the
--ram option to set a limit explicitly, the JVM decides on a default limit at startup.
A fatal internal error occurred.
This should be considered a bug. The CLI usually writes an abbreviated error description to stderr.
If you can reproduce the bug, it’s helpful to use
--logdir and send the log files to GitHub in a bug report.
In the case of really severe problems within the JVM that runs
codeql, it might return a nonzero exit code of its own choosing.
This should only happen if something is severely wrong with the CodeQL installation, or if there is a memory issue with the host system running the CodeQL process. For example, Unix systems may return Exit Code 137 to indicate that the kernel has killed a process that CodeQL has started. One way to troubleshoot this is to modify your
–ram= flag for the
codeql database analyze step and re-run your workflow.