Install
The latest self-contained release can be installed on Linux x64, Linux ARM64,
macOS ARM64, or Windows x64. The installers download the matching standard
release asset, CrystalCode-<os>-<architecture>.zip, then replace the
full published contents in ~/.crystal/binaries/code/.
On Linux or macOS, run:
curl --fail --location --show-error \ https://crystalcode.ink/install.sh | shOn Windows PowerShell:
Invoke-RestMethod ` -Uri https://crystalcode.ink/install.ps1 | Invoke-ExpressionTo inspect an installer before running it, download it to a file and run it manually instead.
The installers do not write credentials.
On Linux and macOS, the installer adds a # Crystal Code CLI (Installer) block to the selected zsh or bash profile. The block puts the CrystalCode directory on PATH and aliases crystal to CrystalCode. On Windows, it adds that directory to the user PATH.
Open a new terminal, then run crystal on Linux or macOS, or CrystalCode on Windows.
Requirements
Section titled “Requirements”Linux and macOS are the recommended platforms. On Windows, install Git for Windows so Git Bash provides bash on the PATH.
- An API key for the selected provider in
~/.crystal/credentials.json, or in the process environment for one launch (see Credentials) - A TTY for the interactive alternate-screen UI.
crystal rundoes not need a TTY bashon thePATH(Git Bash is used on Windows when present)
Building from source also requires:
- .NET 10 or .NET 11 SDK
- A sibling checkout of Crystal at
../Crystal(relative to this repository root)
Clone both repositories into one parent directory:
git clone https://github.com/YELANDAOKONG/CrystalCode.gitgit clone https://github.com/YELANDAOKONG/Crystal.gitThe required layout, build, test, and local install steps are in Build from source.
Version
Section titled “Version”crystal version and crystal --version print the build identity and exit.
They do not open the terminal and do not read configuration.
crystal plugins and crystal tools list, show, enable, or disable one
directory. They print a Spectre.Console table unless --format text is
set. They do not open a session and do not write config.json.
crystal promptsets and crystal prompt-attachments do the same for
prompt.json. Prompt sets are Home-only: list, show, enable, and
disable accept --home and --format text. Enabling one set turns the
others off. Prompt attachments also accept --workspace and
--source home|project. Neither command creates a missing directory or
writes config.json.
Crystal Code 3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4aCrystal 1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4dSDK 10.0.201Configuration Debug
Runtime .NET 10.0.4OS Ubuntu 24.04.2 LTS x64| Line | Meaning |
|---|---|
Crystal Code |
Commit of this repository |
Crystal |
Commit of the Crystal library |
SDK |
.NET SDK that compiled the executable |
Configuration |
MSBuild configuration on the executable, usually Debug or Release |
Runtime |
Shared framework hosting this process |
OS |
Operating-system description plus architecture |
A blank line separates the build from the process host. A line is omitted when that value was not recorded. An empty section is omitted with the blank line. The values above are examples.