Installation
Install the Khora toolchain once, then use khora to manage compiler versions for all of your projects. There is no separate version manager to install.
Install Khora
Section titled “Install Khora”On macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/codyspate/khoralang/main/install.sh | shOn Windows, in PowerShell:
irm https://raw.githubusercontent.com/codyspate/khoralang/main/install.ps1 | iexThe installer downloads the build for your platform, verifies it against the published checksum, and installs it under ~/.khora. It does not compile Khora from source and does not require administrator access.
Verify the installation:
khora --versionThen continue with Getting Started or Your first Khora project.
Verify what you downloaded
Section titled “Verify what you downloaded”Every archive is published with a .sha256 beside it, and the installer checks
it. If you fetched an archive by hand, check it the same way:
sha256sum -c khora-0.1.0-x86_64-unknown-linux-gnu.tar.gz.sha256A checksum says the bytes are the ones that were published. It does not say who published them, and anybody who can replace the archive can replace the checksum next to it. For that, every archive also carries build provenance: a signed statement, made by GitHub during the release run, of which workflow in which repository at which commit produced that exact file.
gh attestation verify khora-0.1.0-x86_64-unknown-linux-gnu.tar.gz --repo codyspate/khoralangThere is no maintainer key to trust and none to leak. The signing identity is the release workflow’s own, which is also why nothing is published from anybody’s workstation.
What is in the toolchain
Section titled “What is in the toolchain”Each release includes a bill of materials as khora-<version>.cdx.json, in
CycloneDX 1.5, listing every Rust crate compiled into the toolchain with its
version and licence, the pinned LLVM, and the Rust toolchain that built it.
Dependency scanners read it directly.
That document is about the compiler. For the other question — what does the
program I am building pull in — khora sbom renders the same format from your
package’s own resolution:
khora sbom --out my-app.cdx.jsonIt is rendered from the resolution rather than from a lockfile read off disk,
so it describes what a build here would use. Pass --locked to refuse a stale
lockfile instead of absorbing the difference.
System linker requirement
Section titled “System linker requirement”Khora compiles to native object code, so producing an executable requires the platform’s linker, C runtime, and system libraries. You do not need to install LLVM separately; LLVM is linked into the Khora compiler rather than invoked as an external program.
| Platform | Linker/toolchain |
|---|---|
| macOS | xcode-select --install |
| Debian / Ubuntu | apt install clang or apt install build-essential |
| Fedora / RHEL | dnf install clang |
| Windows | LLVM, or the Visual Studio Build Tools with the C++ Clang tools for Windows component |
Khora links through clang, so Windows needs one specifically. The Desktop development with C++ workload does not install clang by itself — its C++ Clang tools for Windows component is separate — and MSVC’s own cl.exe is not a substitute, because the driver is what locates the C runtime and system libraries. Installing LLVM is the shorter route.
The installer checks for a usable linker and tells you if one is missing.
Update and manage toolchains
Section titled “Update and manage toolchains”Use khora itself to install and switch compiler versions:
khora update # install the newest release and use itkhora toolchain install 0.2.0 # install a particular releasekhora toolchain default 0.1.0 # choose the default releasekhora toolchain list # list installed toolchainskhora toolchain which # show the version selected here and whyUpdating does not remove the version it replaces, so rolling back is a toolchain selection rather than a reinstall.
Pin a project to a compiler version
Section titled “Pin a project to a compiler version”A project can select its compiler in khora.toml:
[toolchain]version = "0.2.0"A project pin takes precedence over your machine default. If the pinned version is not installed, Khora stops rather than silently building the project with a different compiler.
That makes the compiler version part of the reproducible project configuration:
khora toolchain whichshows which version the current directory selects.
Uninstall
Section titled “Uninstall”The default installation lives under ~/.khora. If you no longer want Khora installed, remove that directory and remove any Khora path entry you added manually.
Build the compiler from source
Section titled “Build the compiler from source”Building from source is for contributing to Khora itself, testing compiler changes, or working on a platform without a published toolchain artifact. Application developers normally use the installer above.
Requirements are Git, a current Rust toolchain, and LLVM 22.1.8 for native code generation.
git clone https://github.com/codyspate/khoralang.gitcd khoralangsh scripts/setup-llvm.shcargo build -p khora-cli --features llvmcargo build -p khora-rtscripts/setup-llvm.sh installs or locates the pinned LLVM version and writes the machine-specific Cargo configuration needed by the backend.
You can register a compiler you built locally as a Khora toolchain:
khora toolchain link 0.2.0 target/debug/khoraRelease candidates
Section titled “Release candidates”If you intentionally want to test a release candidate, opt into prerelease versions explicitly.
On macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/codyspate/khoralang/main/install.sh | sh -s -- --preOn Windows PowerShell:
irm https://raw.githubusercontent.com/codyspate/khoralang/main/installrc.ps1 | iexAfter a Khora toolchain is installed, the normal toolchain commands can also include prereleases:
khora toolchain install --prekhora update --pre--pre means prereleases are eligible; it does not prevent the tool from selecting a newer stable release. Release candidates have their own immutable version numbers such as 0.2.0-rc.1 and are not promoted in place.
When you are ready to write code, continue with Your first Khora project.
Khora 0.1.0built frombd964738afb6on 2026-10-17 20:41ZVersioningSecurityContributingReleasesSource