spotify-plus is a Spicetify extension focused on cleaning up Spotify’s UI, making playlist actions more usable, and adding a few quality-of-life tools that Spotify does not expose cleanly by default.
- Adds a
Spotify+entry to Spotify’s profile menu. - Opens a custom
Spotify+ Settingspanel inside Spotify. - Stores all settings in
Spicetify.LocalStorage.
- Hide
Your Updates. - Hide
Home config. - Hide
Account. - Hide
Profile. - Hide
Support. - Hide
Private Session. - Hide
Log out.
- Hide the
Friend Activitybutton. - Hide the
Lyricsbutton. - Hide the
Miniplayerbutton. - Restore the old compact
Connect to a devicepicker instead of Spotify’s newer sidebar version. - Reload Spotify with
F5. - Break into devtools with
F8. - Best-effort devtools opening on startup when Spotify exposes a working API.
- Restore the previous Spotify route across launches.
- Show an in-app update prompt when a newer GitHub release is available.
- includes a platform-appropriate install/update command
- lets you copy the command, open the release, or skip that version
- Replaces Spotify’s unstable folder-hover behavior for
Add to playlist. - Lets you refresh and cache playlist folders from your library.
- Lets you select multiple folders to expose in the generated menu.
- Uses each selected folder independently.
- Selecting a parent folder only shows playlists directly inside that folder.
- Nested subfolders only contribute if they are explicitly selected too.
- Adds selected tracks directly through Spotify’s playlist API when possible.
- Skips tracks that already exist in the target playlist.
- Closes the menu immediately when a playlist is clicked.
- Filters out non-addable and generated playlists such as:
daylistDiscover WeeklyDJOn Repeat- other
Made for you/ non-editable playlist rows when Spotify metadata exposes them
- Adds a
Copysubmenu for single-track context menus. - Adds a
Copy IDsaction for multi-select track context menus. Copy Song & Artist Name- copies
Song - Artist
- copies
Copy ID- copies a single track id
Copy IDs- copies selected track ids as
id1, id2, id3
- copies selected track ids as
- Reorders the copy entry to sit above Spotify’s
Shareitem.
- Restyles Spotify’s
Experimental featuresmodal with a cleaner custom layout. - Moves the search field into the modal header.
- Adds local search/filtering for the feature rows.
Run this in PowerShell:
irm https://raw.githubusercontent.com/iPixelGalaxy/spotify-plus/master/install.ps1 | iexRun this in a shell:
curl -fsSL https://raw.githubusercontent.com/iPixelGalaxy/spotify-plus/master/install.sh | bashspotify-plus enables a few persistent client behaviors that uninstalling the extension will not automatically undo:
- developer tools can remain enabled in Spotify (Note: messing around with the toggle to run dev-tools on start may be required)
F5reload behavior can remain available (honestly, this is just useful)- last-view route memory can persist across Spotify restarts (allegedly a native spotify feature, I've never seen this behave consistently)
To fully clear the related Spotify/XPUI client state, fully close Spotify and run:
(Get-Content "$env:APPDATA\Spotify\prefs") `
-replace '(?m)^app\.enable-developer-mode=.*$', 'app.enable-developer-mode=false' `
| Set-Content "$env:APPDATA\Spotify\prefs"
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Spotify\Default\Sessions" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Spotify\Default\Session Storage" -ErrorAction SilentlyContinueThis clears Spotify’s persisted XPUI/session state and can reset client preferences and session-related UI state (Including all user setting and plugin configs).
The installers will:
- install Spicetify if it is missing
- download the latest
spotify-plus.jsrelease asset - place it in your Spicetify
Extensionsfolder - add it to your Spicetify config
- enable Spotify developer tools
- run
spicetify backup apply - run
spicetify apply
PowerShell:
irm https://raw.githubusercontent.com/iPixelGalaxy/spotify-plus/master/uninstall.ps1 | iexmacOS / Linux:
curl -fsSL https://raw.githubusercontent.com/iPixelGalaxy/spotify-plus/master/uninstall.sh | bashThe uninstall scripts:
- remove the extension from Spicetify config
- delete the installed extension file
- apply the updated Spicetify config
- optionally ask
⚠️ Clear All User Settings?- default is
No - if confirmed, resets developer mode and clears Spotify session / XPUI-style state
- default is
- Install Spicetify.
- Build this repo:
npm ci
npm run build- Copy
dist/spotify-plus.jsinto your Spicetify extensions folder. - Enable it:
spicetify config extensions spotify-plus.js
spicetify backup applynpm ci
npm run devUseful scripts:
npm run buildnpm run lintnpm run fmt
This repo includes a manual GitHub Actions workflow at .github/workflows/release.yml.
It:
- installs dependencies
- builds the extension
- packages release assets
- publishes a manual GitHub release with:
spotify-plus.js- a versioned zip bundle
- install / uninstall scripts for Windows, macOS, and Linux
Release builds have the same persistence caveat as the PowerShell installer:
- uninstalling the extension does not automatically disable Spotify developer tools again
- uninstalling does not automatically clear the remembered last-view route
- uninstalling does not automatically revert any XPUI/session storage state created while using the extension
If you need to fully reset that client state, close Spotify and run:
(Get-Content "$env:APPDATA\Spotify\prefs") `
-replace '(?m)^app\.enable-developer-mode=.*$', 'app.enable-developer-mode=false' `
| Set-Content "$env:APPDATA\Spotify\prefs"
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Spotify\Default\Sessions" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Spotify\Default\Session Storage" -ErrorAction SilentlyContinueThat reset can also clear Spotify client preferences and session/UI state.
- The PowerShell installer expects this repo to be published at
iPixelGalaxy/spotify-plus. - If you fork or rename the repo, update the constants at the top of
install.ps1. - If you fork or rename the repo, also update
install.sh,uninstall.ps1,uninstall.sh, andsrc/features/updatePrompt.ts.