Installation

Install Anvil on macOS, as the desktop app or the CLI alone, or build it from source step by step. Linux and Windows are in development.

Anvil comes as a desktop app, which includes the anvil CLI, or as the CLI alone. Both share the settings in ~/.anvil.

Platforms

PlatformStatus
macOSSupported
LinuxIn development
WindowsIn development

On Linux the core builds and passes its tests, but setup (local domains, ports 80 and 443, the trusted certificate) is macOS-only today.

macOS

The desktop app

Being prepared for the first release, from the Download page and Homebrew. Until then, build it from source.

The CLI alone

Being prepared for the first release, through Homebrew. Until then, build it from source.

Build from source

Steps 1 to 3 give you the CLI; step 4 adds the desktop app.

1. Install the tools

Xcode command line tools (git, the C toolchain, and what Anvil uses to build Redis):

xcode-select --install

Rust 1.90 or newer:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

In a new shell:

rustc --version

For the desktop app, Node.js and pnpm:

brew install node pnpm

2. Get the source

git clone https://github.com/n1crack/anvil
cd anvil

3. Build and install the CLI

cargo install --path . --locked
anvil --version

This installs anvil into ~/.cargo/bin.

4. Build the desktop app

After anvil setup, node in your terminal is Anvil's, so the build needs a Node.js installed in Anvil: run anvil runtime install node 24 first if there is none.

pnpm --dir app/ui install
cargo install tauri-cli --version '^2' --locked
cd app && cargo tauri build --config tauri.cli.conf.json

--config tauri.cli.conf.json bundles the anvil CLI inside the app, as a release does. Without it, the app uses the CLI from step 3 in ~/.cargo/bin.

Move the app to /Applications, where the login item and anvil uninstall look for it:

mv ../target/release/bundle/macos/Anvil.app /Applications/
open /Applications/Anvil.app

The UI uses Vite+; cargo tauri dev runs the app with live UI reload. See CONTRIBUTING.md for tests and checks.

Update a build

git pull
cargo install --path . --locked --force

For the desktop app, quit it, then rebuild (needs a Node.js installed in Anvil once anvil setup has run) and replace the copy in /Applications:

pnpm --dir app/ui install
cd app && cargo tauri build --config tauri.cli.conf.json
rm -rf /Applications/Anvil.app
mv ../target/release/bundle/macos/Anvil.app /Applications/

Next

Getting started: the first run and your first project.

On this page