# Install crystal-icr with Homebrew, Nix

Interactive console for Crystal programming language. Version 0.9.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#icr.

## Install

```sh
sudo av install brew:crystal-icr
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install crystal-icr
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#icr
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ic/icr/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:crystal-icr
- **Package manager:** Homebrew
- **Version:** 0.9.0
- **Source summary:** Interactive console for Crystal programming language
- **Homepage:** <https://github.com/crystal-community/icr>
- **Repository:** <https://github.com/crystal-community/icr>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- icr (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.9.0
## Project history and usage

ICR, short for Interactive Crystal, is a REPL-like console for the Crystal programming language. It exists because Crystal is normally compiled, so an interactive shell has to simulate the Ruby-style irb experience by generating and running Crystal programs behind the scenes.

### Project history

The official GitHub repository was created in 2016 under the crystal-community organization. Its README presents the tool as an interactive console for Crystal and credits Potapov Sergey as creator and maintainer, with later community contributors adding support for newer Crystal versions, records, require flags, syntax highlighting, and maintenance.

### Adoption history

ICR is a smaller companion package rather than part of Crystal's core distribution. The README documents source installation with make, use as a shard dependency, and an Arch AUR package; the supplied package metadata adds Homebrew and Nix packaging, showing that language-adjacent developer tools often get packaged separately from the compiler.

### How it is used

ICR is used like irb for Crystal: each submitted instruction is accumulated into a generated Crystal program, executed, and presented as if only the new instruction ran. It supports requiring local files or shards from the command line and includes console commands such as paste, debug, quit, exit, and reset.

### Why package nerds care

ICR is significant mostly as a packaging companion to Crystal. Its usefulness depends on matching the installed Crystal compiler, readline, and LLVM development files, so it illustrates why language ecosystems often need small auxiliary formulae beyond the main runtime.

### Timeline

- 2016: The official GitHub repository was created.
- 2021: The repository's last pushed timestamp in the GitHub API indicates maintenance activity through the Crystal 0.x/early 1.x era.

### Related projects

- ICR is directly tied to Crystal and Shards. The README also points to inf-crystal.el as an editor integration for connecting Emacs to an ICR subprocess.

### Sources

- <https://github.com/crystal-community/icr>
- <https://api.github.com/repos/crystal-community/icr>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Other Package-Manager Records

- Nix - icr: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/ic/icr/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/crystal-icr.yml](https://github.com/mxcl/pkgdb/blob/main/combined/crystal-icr.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
