spicetify/cli · critical
aborting the patching process due to missing Spotify binarie
Error message
aborting the patching process due to missing Spotify binaries
What it means
During preprocessing, spicetify locates the Spotify binary to patch: on Windows it looks for spotify.dll or spotify.exe in the Spotify installation directory. If neither file exists, it prints a detail message and fatals with this error, aborting patching because there is no binary to modify.
Source
Thrown at src/preprocess/preprocess.go:139
spotifyMinor, _ = strconv.Atoi(verParts[1])
}
if len(verParts) > 2 {
spotifyPatch, _ = strconv.Atoi(verParts[2])
}
var spotifyBinaryPath string
switch runtime.GOOS {
case "windows":
dllPath := filepath.Join(spotifyBasePath, "spotify.dll")
exePath := filepath.Join(spotifyBasePath, "spotify.exe")
if _, err := os.Stat(dllPath); err == nil {
spotifyBinaryPath = dllPath
} else if _, err := os.Stat(exePath); err == nil {
spotifyBinaryPath = exePath
} else {
utils.PrintError("Could not find spotify.dll or spotify.exe in Spotify installation directory")
utils.Fatal(errors.New("aborting the patching process due to missing Spotify binaries"))
}
case "darwin":
spotifyBinaryPath = filepath.Join(spotifyBasePath, "..", "MacOS", "Spotify")
}
if spotifyBinaryPath != "" {
if err := validateReleaseBuild(spotifyBinaryPath); err != nil {
utils.PrintError(err.Error())
utils.Fatal(errors.New("aborting the patching process due to unsupported build"))
}
}
frameworkResourcesPath := ""
switch runtime.GOOS {
case "darwin":
frameworkResourcesPath = filepath.Join(spotifyBasePath, "..", "Frameworks", "Chromium Embedded Framework.framework", "Resources")
case "windows", "linux":
frameworkResourcesPath = spotifyBasePathView on GitHub (pinned to 1f13f73616)
Solutions
- Install the standard desktop Spotify client from spotify.com (not the Microsoft Store version)
- Correct the spotify_path in config-xpui.ini to the folder containing spotify.exe/spotify.dll
- Reinstall Spotify if it was uninstalled or moved, then re-run spicetify
- Verify the files exist: check <spotify_path>/spotify.exe manually
Example fix
// before (config-xpui.ini, wrong dir) spotify_path = C:\Users\me\AppData\Local\Microsoft\WindowsApps // after spotify_path = C:\Users\me\AppData\Roaming\Spotify
Defensive patterns
Strategy: validation
Validate before calling
spotifyPath := cfg.Get("Preprocess", "spotify_path")
for _, f := range []string{"spotify.dll", "spotify.exe"} {
if _, err := os.Stat(filepath.Join(spotifyPath, f)); err == nil {
break
}
return fmt.Errorf("%s not found in %s; fix spotify_path or install desktop Spotify", f, spotifyPath)
} Try / catch
// spicetify fatals internally (utils.Fatal); wrap at process level:
out, err := exec.Command("spicetify", "apply").CombinedOutput()
if err != nil && strings.Contains(string(out), "missing Spotify binaries") {
// fix spotify_path / reinstall Spotify before retrying
} Prevention
- Install the standard desktop Spotify client, never the Microsoft Store version
- Verify spotify_path in config-xpui.ini points to the folder containing spotify.exe/spotify.dll
- Re-check paths after Spotify reinstalls or moves
- Run `spicetify path` diagnostics after changing install locations
When it happens
Trigger: Running `spicetify apply`/`preprocess` on Windows when os.Stat fails for both spotifyBasePath/spotify.dll and spotifyBasePath/spotify.exe — Spotify not installed, installed per-user vs per-machine mismatch, or a Microsoft Store (WindowsApps) installation whose files aren't at spotifyBasePath.
Common situations: Spotify installed from Microsoft Store instead of the standard installer; Spotify uninstalled or moved after spicetify config was created; a SPOTIFY_PATH env/config pointing at the wrong directory; corporate machines where install location differs.
AI-assisted analysis of spicetify/cli@1f13f73616 (2026-08-31).
Data as JSON: /api/errors/8a2d2656d23b692f.
Report an issue: GitHub.