Skip to content
Crystal CodeDocs
ENEnglish

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:

Terminal window
curl --fail --location --show-error \
https://crystalcode.ink/install.sh | sh

On Windows PowerShell:

Terminal window
Invoke-RestMethod `
-Uri https://crystalcode.ink/install.ps1 | Invoke-Expression

To 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.

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 run does not need a TTY
  • bash on the PATH (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:

Terminal window
git clone https://github.com/YELANDAOKONG/CrystalCode.git
git clone https://github.com/YELANDAOKONG/Crystal.git

The required layout, build, test, and local install steps are in Build from source.

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 3f2a1b0c9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a
Crystal 1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d
SDK 10.0.201
Configuration Debug
Runtime .NET 10.0.4
OS 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.