Automic VaultAutomic Vault

brew

Install elan-init with Homebrew, apt, Nix, scoop, winget, MacPorts

Lean Theorem Prover installer and version manager. Version 4.2.3 via Homebrew; verified 2026-06-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install elan-init

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install lean

MacPorts ports tree · math/lean/Portfile · source: api.github.com

Linux

Debian aptverified · 92%
sudo apt install elan

Debian stable package indexes · elan · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#elan

nixpkgs package indexes · pkgs/by-name/el/elan/package.nix · source: api.github.com

Windows

Scoopverified · 92%
scoop install main/elan

Scoop official bucket manifest trees · bucket/elan.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id Lean.Elan -e

Windows Package Manager source index · Lean.Elan · source: cdn.winget.microsoft.com

overview

Package summary

Lean Theorem Prover installer and version manager

Commands and aliases

  • elan
  • elan-init
  • lake
  • lean
  • leanc
  • leanchecker
  • leanmake
  • leanpkg

history

Project history and usage

elan is the Lean theorem prover toolchain manager. It installs Lean toolchains and places proxy binaries such as `lean`, `lake`, and `elan` on PATH so a project can select the compiler version declared in its `lean-toolchain` file.

Project history

The elan repository was created in April 2018 as Lean's answer to language-specific version managers. Its README explicitly describes the implementation as a fork of rustup, adapted from Rust's toolchain model to Lean's compiler, package manager, and release infrastructure.

The design followed Lean's project-local workflow: a repository can commit a `lean-toolchain` file, and elan will automatically select and download the required Lean version when `lean` or `lake` is invoked.

Adoption history

elan became central to modern Lean usage because Lean projects often depend on precise compiler versions, especially around Lean 4 nightly and stable releases. The Lean reference manual documents elan as the standard way to manage installed toolchains, select defaults, and override versions per project.

Its package adoption is practical rather than flashy: package managers distribute `elan-init`, while the installed proxies expose Lean, Lake, and related tools under their usual command names.

How it is used

Typical usage starts with the `elan-init` installer, which installs into `~/.elan` by default and can update shell startup files. After installation, `elan show`, `elan default`, and project-local `lean-toolchain` files control which Lean version is active.

For package maintainers, elan matters because a single package can provide a family of executables while deferring the actual Lean compiler download until a project requests a specific toolchain.

Why package nerds care

elan is a clean example of the rustup pattern spreading to another language ecosystem: a tiny manager package, shim executables, per-project version files, and lazy toolchain installation. That makes it especially interesting in package-manager databases because the package name `elan-init` is only the installer face of a larger language runtime workflow.

Timeline

  • 2018: GitHub repository created for the Lean toolchain manager.
  • 2023: README examples show Lean 4 nightly toolchains selected by `lean-toolchain`.
  • 2025: v4.0.0 released for the Lean 4 era.
  • 2026: v4.2.x releases continue active maintenance.

Related projects

  • elan is closely related to Lean, Lake, leanpkg, and rustup. Its model also resembles ghcup, pyenv, nvm, and other language version managers, but it is tightly integrated with Lean's official toolchain naming.

security posture

Risk level: orange

infrastructure mutation or orchestration signal.

Risk classifier

orange risk · medium confidence · infrastructure

Why

  • infrastructure mutation or orchestration signal

Signals

  • text:version manager

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.
  • Build metadata lists 2 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
lean-toolchain

executables

Installed executables

CommandKindExposureNote
elancliglobal executable
elan-initcliglobal executable
lakecliglobal executable
leancliglobal executable
leanccliglobal executable
leancheckercliglobal executable
leanmakecliglobal executable
leanpkgcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version4.2.3
manager updated2026-06-13
local dataok
upstreamcurrent
latest detectedv4.2.3

https://github.com/leanprover/elan

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:elan-init
Version4.2.3
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/elan-init
Homepagehttps://github.com/leanprover/elan
Repositoryhttps://github.com/leanprover/elan
Upstream docshttps://github.com/leanprover/elan#readme
LicenseApache-2.0 OR MIT
Source archivehttps://github.com/leanprover/elan/archive/refs/tags/v4.2.3.tar.gz
Last updated2026-06-13T01:24:10+02:00
Pulseupdated
Dependenciescoreutils, gmp
Build dependenciespkgconf, rust
Uses from macOSbzip2, curl
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameelan-init
Aliases
  • elan
Version Scheme0
Revision0
Head VersionHEAD
Conflicts With
  • lean-cli
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

MacPorts94%

lean

sudo port install lean
  • installed executable or alias match
  • Matched by: Lean
MacPorts ports tree · api.github.com · MacPorts ports tree: math/lean/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Debian apt92%

elan 3.1.1-6

tool for managing installations of the Lean theorem prover

https://github.com/leanprover/elan

sudo apt install elan
  • Section: math
  • Architecture: amd64
  • 7 dependencies
  • installed executable or alias match
  • Matched by: Elan
Debian stable package indexes · deb.debian.org · Debian stable package indexes: elan from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix92%

elan

nix profile install nixpkgs#elan
  • installed executable or alias match
  • Matched by: Elan
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/el/elan/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Nix92%

lean

nix profile install nixpkgs#lean
  • installed executable or alias match
  • Matched by: Lean
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/le/lean/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt92%

elan 3.1.0-1build2

tool for managing installations of the Lean theorem prover

https://github.com/leanprover/elan

sudo apt install elan
  • Section: universe/math
  • Architecture: amd64
  • 6 dependencies
  • installed executable or alias match
  • Matched by: Elan
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: elan from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Scoop92%

main/elan

scoop install main/elan
  • installed executable or alias match
  • Matched by: Elan
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/elan.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
winget92%

Lean.Elan

winget install --id Lean.Elan -e
  • installed executable or alias match
  • Matched by: Elan
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: Lean.Elan from https://cdn.winget.microsoft.com/cache/source.msix
winget92%

Lean.Lean

winget install --id Lean.Lean -e
  • installed executable or alias match
  • Matched by: Lean
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: Lean.Lean from https://cdn.winget.microsoft.com/cache/source.msix
winget92%

MPI.ELAN

winget install --id MPI.ELAN -e
  • installed executable or alias match
  • Matched by: Elan
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: MPI.ELAN from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment