> For the complete documentation index, see [llms.txt](https://tools.galois.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tools.galois.com/saw/crux/download-crux.md).

# Download Crux

* [Crux-LLVM (Ubuntu 22.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-22.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-22.04-X64.tar.gz.sig))
* [Crux-LLVM (Ubuntu 24.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-24.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-24.04-X64.tar.gz.sig))
* [Crux-LLVM (OSX Arm)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-macos-15-ARM64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-macos-15-ARM64.tar.gz.sig))
* [Crux-LLVM (Windows 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-windows-2022-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-windows-2022-X64.tar.gz.sig))
* [Crux-MIR (Ubuntu 22.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-22.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-22.04-X64.tar.gz.sig))
* [Crux-MIR (Ubuntu 24.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-24.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-24.04-X64.tar.gz.sig))
* [Crux-MIR (OSX Arm)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-macos-15-ARM64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-macos-15-ARM64.tar.gz.sig))

Crux binaries for Linux, macOS, and Windows are available from the GitHub [releases page](https://github.com/GaloisInc/crucible/releases). Binaries are distributed as tarballs which you can extract to a location of your choice. Note that Crux-MIR binaries for Windows are not currently included, but we expect to include them in an upcoming release.

GPG signatures are available for each release, and we encourage you to [check the signature](http://gnupg.org/gph/en/manual/x135.html) against our [public key](https://app.gitbook.com/o/OKpco5V1fngn2MK4lcSF/s/UApIrUvk02G42EmQuRHP/crux/pgp-public-key) before installing to ensure the integrity of the release you downloaded.

Crux is also packaged using Docker, and can be fetched using one of the following commands:

```
docker pull ghcr.io/galoisinc/crux-llvm:0.12
docker pull ghcr.io/galoisinc/crux-mir:0.12
```

Use the following command to run `crux-mir` through `cargo crux-test` from Docker on the Cargo project in the current directory:

```
docker run --rm -it --mount type=bind,source=$(pwd),target="/crux-mir/workspace" ghcr.io/galoisinc/crux-mir:0.12
```

### Dependencies <a href="#dependencies" id="dependencies"></a>

Crux requires a companion tool, `mir-json`, which provides a Cargo plugin and `rustc` wrapper. We recommend installing `mir-json` directly with Cargo by following the instructions in the [`mir-json` README](https://github.com/GaloisInc/mir-json/blob/master/README.md).

Crux can make use of a variety of external SMT solvers, including Boolector, CVC4, CVC5, Yices, and Z3. These solvers can be downloaded from their respective developers at the locations below.

* [Boolector](http://fmv.jku.at/boolector/) from Johannes Kepler University Linz
* [CVC4](https://cvc4.github.io/) from New York University
* [CVC5](https://cvc5.github.io/) from Stanford University and the University of Iowa
* [Yices](http://yices.csl.sri.com/) from SRI International
* [Z3](https://github.com/Z3Prover/z3/releases) from Microsoft Research


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://tools.galois.com/saw/crux/download-crux.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
