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

  1. Uninstall the current Spotify client and install the latest official Release version.
  2. Disable Spotify auto-updates to a non-release channel, or pin the release client.
  3. Re-run `spicetify backup apply` after installing the Release build.
  4. 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

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.