Compiling
v3 is written in Rust. Build from source to work on Spicetify itself, and otherwise install a prebuilt release.
Requirements
You need these tools:
- Rust 1.95 or newer.
rust/rust-toolchain.tomlselects the stable channel. - Node 18 or newer and pnpm, for the payload that runs inside Spotify. The repository pins pnpm 11.9.0, and its
mise.tomlpins Node 24, somise installsets up both. - A Spotify install that meets the requirements.
Build
Clone the repository and build the payload, then the binaries:
git clone https://github.com/spicetify/clicd clipnpm install --frozen-lockfilepnpm build:payloadcd rustcargo build --release -p cli -p daemonThe binaries are rust/target/release/spicetify and spicetify-daemon. Keep them in the same folder, because the CLI starts the daemon from its own directory. cargo build doesn’t replace the spicetify on your PATH, so run ./target/release/spicetify to test your build.
Restart the daemon after changes
apply leaves a running daemon in place when its version number matches, which a local rebuild doesn’t change. After you change the daemon or the shared core crate, rebuild and restart it:
cargo build --release -p cli -p daemon./target/release/spicetify daemon stop./target/release/spicetify daemon startBuild v2
v2 is written in Go and lives on the repository’s main branch:
git clone https://github.com/spicetify/clicd cligo build -o spicetify