Chasm ships as a single native binary plus a Go-based CLI. The quickest path is the one-line installer — it detects your platform automatically.
Platform Support
| Platform | Status |
|---|---|
| macOS arm64 (Apple Silicon) | ✓ |
| macOS x86_64 (Intel) | ✓ |
| Linux x86_64 | ✓ |
| Windows x86_64 | ✓ |
One-line Install
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/Chasm-lang/Chasm/main/install.sh | sh
Detects your OS and architecture, downloads the correct binary from GitHub Releases, installs to ~/.chasm/, and symlinks chasm into ~/.local/bin.
Windows (PowerShell)
irm https://raw.githubusercontent.com/Chasm-lang/Chasm/main/install.ps1 | iex
Downloads the .zip release, extracts to %LOCALAPPDATA%\chasm, and adds the bin directory to your user PATH.
Add to PATH (macOS/Linux, if needed)
If ~/.local/bin is not in your PATH:
# zsh
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc && source ~/.zshrc
# bash
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc && source ~/.bashrc
Verify
chasm version
You should see the installed version number.
Install from Source
Requires Go 1.21+. No Zig required.
Clone the repository
git clone https://github.com/Chasm-lang/Chasm.git
cd Chasm
Build and install
go run ./cmd/shazam # installs to ~/.local/bin
go run ./cmd/shazam /usr/local # installs system-wide (Linux/macOS)
This builds the CLI from source and installs the VS Code extension. The pre-built bootstrap binary in bootstrap/bin/ is used to compile Chasm programs — no Zig required.
Set CHASM_HOME (manual build only)
If you built manually with go build instead of shazam, set:
export CHASM_HOME=/path/to/Chasm
Add that to your shell profile to make it permanent. shazam handles this automatically.
Editor Support
The VS Code / Cursor extension provides syntax highlighting, LSP completions, go-to-definition, format on save, and a ▶ Run CodeLens above entry points.
Install by searching Chasm Language in the VS Code extension marketplace, or via the command palette:
ext install chasm-lang.chasm
CLI Reference
| Command | Description |
|---|---|
chasm run <file.chasm> | Compile and run a standalone script |
chasm run --engine raylib <file.chasm> | Compile and run with Raylib |
chasm compile <file.chasm> | Compile to C only |
chasm watch <file.chasm> | Watch for changes and re-run |
chasm fmt <file.chasm> | Format a source file in-place |
chasm version | Print the compiler version |
chasm help | Show usage |
Engine flags:
Pass --engine raylib to compile against the Raylib 5.5 API (graphics, input, audio).
Pass --engine godot to compile as a Godot 4 GDExtension script.
Without a flag, the output is a standalone binary with no graphics dependencies.