spicetify/cli · error
detected %s Spotify build! spicetify works only on Release b
Error message
detected %s Spotify build! spicetify works only on Release builds. Please install latest Release version of Spotify
What it means
validateReleaseBuild regex-matches the Spotify binary for a build-type marker (Master|Release|PR|Local). If the build type is detected but is not "Release", this error is returned because spicetify only supports Release builds. The detected type is interpolated into the message.
Source
Thrown at src/preprocess/preprocess.go:1089
}
func validateReleaseBuild(spotifyBinaryPath string) error {
fileContent, err := os.ReadFile(spotifyBinaryPath)
if err != nil {
return fmt.Errorf("could not read %s: %w", filepath.Base(spotifyBinaryPath), err)
}
buildRegex := regexp.MustCompile(`(Master|Release|PR|Local) Build.+(?:cef_)?(\d+\.\d+\.\d+\+g[0-9a-f]+\+chromium-\d+\.\d+\.\d+\.\d+)`)
matches := buildRegex.FindSubmatch(fileContent)
if len(matches) == 0 {
utils.PrintWarning(fmt.Sprintf("Could not detect Spotify build type in %s, skipping validation", filepath.Base(spotifyBinaryPath)))
return nil
}
buildType := string(matches[1])
if buildType != "Release" {
return fmt.Errorf("detected %s Spotify build! spicetify works only on Release builds. Please install latest Release version of Spotify", buildType)
}
utils.PrintSuccess(fmt.Sprintf("Spotify's build type is %s. Continuing...", string(matches[1])))
return nil
}
type githubRelease = utils.GithubRelease
func splitVersion(version string) ([3]int, error) {
vstring := version
if vstring[0:1] == "v" {
vstring = version[1:]
}
vSplit := strings.Split(vstring, ".")
var vInts [3]int
if len(vSplit) != 3 {
return [3]int{}, errors.New("invalid version string")
}View on GitHub (pinned to 1f13f73616)
Solutions
- Uninstall the current Spotify client and install the latest official Release version.
- Disable Spotify auto-updates to a non-release channel, or pin the release client.
- Re-run `spicetify backup apply` after installing the Release build.
- Check spicetify's supported Spotify versions if your Release build is too new and still unsupported.
Defensive patterns
Strategy: validation
Validate before calling
// Caller-side: verify installed client channel before applying
out, _ := exec.Command("spotify", "--version").Output()
if strings.Contains(string(out), "Master") || strings.Contains(string(out), "Local") {
return fmt.Errorf("non-Release Spotify installed; reinstall official release")
} Try / catch
if err := spicetify.Apply(); err != nil {
if strings.Contains(err.Error(), "works only on Release builds") {
// prompt: reinstall official Release Spotify
}
return err
} Prevention
- Install only official Release-channel Spotify clients.
- Disable experimental/beta client auto-update tracks.
- Check spicetify compatibility notes before upgrading Spotify.
When it happens
Trigger: validateReleaseBuild finds a build-type match (e.g. "Master Build ..." or "Local Build ...") where matches[1] != "Release" during preprocessing (backup/apply).
Common situations: User installed a Spotify development/nightly or Master-branch build; internal/local Spotify builds from source; downgraded or experimental client channels; auto-update switched the client to a non-release track.
Related errors
AI-assisted analysis of spicetify/cli@1f13f73616 (2026-08-31).
Data as JSON: /api/errors/67415f67870b03b3.
Report an issue: GitHub.