2026 Spotify Plugin

Hey everyone,

As many of you are aware, Spotify changed in August 2026 how third-party apps can authorize playback, and the old plugin flow broke because of it.

Even if this is a community plugin, we know how important Spotify is and we rolled up our sleeves and jumped in to fix the situation and revamp it.

The new plugin is out today.

HOW TO GET IT

Spotify v4.5.0 is available trough Volumio Plugins store. If you already have the old plugin installed, just update it to v4.5.0 and restart your device. Once it’s back up, open the plugin’s settings page and authorize it, one button, two steps:

  1. Sign in to Spotify. This is what search, browsing and your library run on.
  2. Approve this device. Your device asks Spotify for a code and shows you a short link and a QR. Open it on whatever screen is nearest, approve, done.

WHY IT’S BETTER

  • Authorization survives reboots. Sign in once, not once per power cycle.
  • Playback actually starts from the Volumio interface, instead of the device pretending to be ready and staying silent.
  • When something goes wrong, it tells you what: code expired, not approved in time, cancelled, Spotify didn’t answer.

Note: this fix works the same on both Manifest and Nova. Nova’s new stack gives us a lot more room to integrate things natively, so plugin pairing already looks and feels better there, and it’s only going to keep improving faster on that side going forward.

Haven’t tried Nova yet? It’s in beta now for Raspberry Pi, with rollout to the rest of the Volumio fleet coming soon.
See: Introducing Nova: a new UI built with you

WHERE THIS DOESN’T REACH

Like every streaming service we integrate, we can only go so far. Spotify controls their API, their auth flow, what changes and when. We adapt as fast as we can when they change something on their end, but we can’t promise it won’t happen again.
If it does, we’ll be here fixing it, same as this time.

Does it support lossless? No. To make this plugin lossless we are still waiting on our conversation with Spotify themselves, and no open source solution AFAIK has lossless as of now. If you absolutely need lossless (and can do without browsing) then you can consider soloist.

Give it a try and let us know how it goes. Every bit of feedback and every suggestion is welcome!

Does it work on the Primo V1 since that is not yet updated to V4 of Volumio?

Unfortunately not, we have released this only for V4.

This included Lossless playback, or do we need to use the Soloist plugin, for LossLess audio, as it’s not mentioned?

Lossless audio and Spotify Connect?

My Rivo Plus is waiting patiently for lossless :slight_smile:

Does it support lossless? No. To make this plugin lossless we are still waiting on our conversation with Spotify themselves, and no open source solution AFAIK has lossless as of now. If you absolutely need lossless (and can do without browsing) then you can consider soloist.

Hello Volumio Team,
thank für update the spotify plugin. Unfortunately, the update to version v4.5.0 isn’t working for me on my Raspberry Pi 4. It does show version v4.5.0 when no Spotify plugin is installed, but after reinstalling, it always installs v4.4.2. When version v4.4.2 is installed, only that version is displayed under “Details.” There is no v4.5.0 option available for me to update to from version v4.4.2. Did I do something wrong?

Please try a restart after update

I have installed this on all my devices. 4x Pi 3b no issues, but needs a reboot after initial installation, worked flawlessly so far.
The work by the devs is much appreciated.

I recently switched to Spotify Premium DUO.
I had a single Premium Account.
I have a RPI 3B+ with IQ audio DAC plus add on. Software I am running is Volumio 4.119 en installed Spotify Plug-In 4.5.0. The main Guest can see the Volumio device in the Spotify App and can connect en stream audio.
I am using in my house the Guest account. I can see the Volumio device in the Spotify app, can connect but doesn’t stream audio to it. The player stays at 0:00.
The only way I can stream my Spotify content, but not the way I want to:
When I register my account in the Spotify Plug Inn, I can see my Spotify library. First the main DUO Account must connect and PLAY via Spotify to Volumio. Then Only then when music is streaming (from the main account) I can start play my library, ONLY from the Volumio App, not from the Spotify App.
Starting from the Volumio App, when main account is not streaming to Volumio will also not work.
For now this is not a workaround for me. I want to connect and stream from Spotify App to my Volumio device as the main Account can do at this moment.
For now I delete my account in the plug in and reboot my device.
I hope someone recognizes this problem and can help me find a solution

Please read above. Are you using this version?

Thanks for the update! I just started using Volumio a month or so ago and the Spotify plug-in wasn’t working. It’s now working flawlessly. Thanks for all your time and effort!

I read above. I have carried out steps 1 and 2 of the “how to get it”
Volumio says authorization was successful.
In the Volumio interface I can see my own library. So far so good.
I am using the guest account of the Spotify DUO Premium subscription.
When I try to start to play within de Volumio interface, it will not start to stream. I then get the message “Spotify is not connected: use Authorize in the plugin settings, or select the device in de Spotify app”
But the authorization was successfully done. After reboot Volumio and in my Spotify account, I still see Spotify Account is authorized.
The only way I can stream my own content within the Volumio interface is if the Main user of the DUO account select the Volumio device in the Spotify app. This account doesn’t need to play anything, but it can.
At this point I can stream my content within the Volumio Interface.
Within my own Spotify App I can see the Volumio device, but it will only connect, but not stream audio.
So when the main user is not at home and the devices of this user, I can not play my own content within the Volumio interface.
From here, I don’t know what I can still do, to stream my content, while the main user is not connect with the Volumio device within the Spotify app.
(I am using Volumio Free subscription on my RPI. I hope this is not the problem)

I was able to get it to work on Volumio 3.912 by backporting the changes.
Here is a bundle with all the files, an installer script and instructions: CherryShare

I also have the RIVO+ with the latest firmware but unfortunately I have the same problem as Dennis described. I have all playlists of Spotify (free version) available in Rivo+ but it will not play any songs. Fault “Spotify is not connected”.
I know that it seems to be a Spotify issue but will there be a solution to use Spotify on Rivo+ from the Volumio app?
Kind regards
Jörg

Hi everyone,

I am experiencing a reproducible issue where newly created Spotify Premium accounts cannot play any audio via the Volumio Spotify plugin (neither via the Volumio WebUI nor via Spotify Connect), whereas older Spotify accounts within the exact same Spotify Family subscription work without any issues on the same Volumio device.

Environment

  • Volumio OS: Bookworm (armhf)
  • Spotify Plugin (spop): v4.5.0 (Test channel)
  • Daemon: go-librespot 0.9.1
  • Account Type: Spotify Premium (Family Plan member, Country: DE, all address verifications completed)

Problem Description

  1. OAuth login and device pairing ([spotify.com/pair](https://spotify.com/pair)) succeed without errors.
  2. Spotify API correctly identifies the account as "product":"premium".
  3. Browsing playlists and loading tracks into the queue works as expected.
  4. As soon as playback is triggered (either via Volumio UI or Spotify Connect), go-librespot requests the AES key for the track, which Spotify’s AP refuses with code 1. go-librespot then loops through 51 consecutive attempts before aborting with an Internal Server Error.

Root Cause Analysis

Looking at the debug/trace logs right after Login5 authentication, the Spotify Access Point sends PacketTypeLicenseVersion (len: 2) and an empty PacketTypeLegacyWelcome (len: 0), which go-librespot skips:

Plaintextlevel=debug msg="skipping packet PacketTypeSecretBlock, len: 336" level=debug msg="skipping packet PacketTypeLicenseVersion, len: 2" level=debug msg="skipping packet PacketTypeUnknown1f, len: 17" level=debug msg="skipping packet PacketTypeLegacyWelcome, len: 0"

It appears that Spotify is strictly enforcing the newer DRM/key exchange mechanism (PlayPlay / Widevine / LicenseVersion 2) on newly registered accounts and no longer allows falling back to legacy raw AES key retrieval (mercury / audio key) for these accounts. Older accounts on the same Family plan still seem to be whitelisted on Spotify’s backend for legacy AES key delivery and work fine on the exact same setup.

Sanitized Log Excerpt

1. Plugin Initialization & Authentication:

Plaintexttime="2026-10-15T12:03:33+02:00" level=info msg="running go-librespot 0.9.1" time="2026-10-15T12:03:33+02:00" level=info msg="api server listening on 127.0.0.1:9879" time="2026-10-15T12:03:33+02:00" level=debug msg="fetched new accesspoints: [ap-gew4.spotify.com:4070 ap-gew4.spotify.com:443 ...]" SPOTIFY: User informations: {"account_id":"<REDACTED>","country":"DE","display_name":"<REDACTED>","email":"<REDACTED>","explicit_content":{"filter_enabled":false,"filter_locked":false},"id":"31<REDACTED>","product":"premium","type":"user","uri":"spotify:user:31<REDACTED>"} info: Spotify Successfully logged in ... time="2026-10-15T12:03:53+02:00" level=debug msg="connected to ap-gew4.spotify.com:4070" time="2026-10-15T12:03:53+02:00" level=debug msg="completed keyexchange" time="2026-10-15T12:03:53+02:00" level=debug msg="completed challenge" time="2026-10-15T12:03:53+02:00" level=info msg="authenticated AP" username="31************************la" time="2026-10-15T12:03:54+02:00" level=info msg="authenticated Login5" username="31************************la" time="2026-10-15T12:03:54+02:00" level=debug msg="stored credentials" username="31************************la" time="2026-10-15T12:03:54+02:00" level=debug msg="connected to gew4-dealer.spotify.com:443" time="2026-10-15T12:03:54+02:00" level=debug msg="skipping packet PacketTypeSecretBlock, len: 336" time="2026-10-15T12:03:54+02:00" level=debug msg="skipping packet PacketTypeLicenseVersion, len: 2" time="2026-10-15T12:03:54+02:00" level=debug msg="skipping packet PacketTypeUnknown1f, len: 17" time="2026-10-15T12:03:54+02:00" level=debug msg="skipping packet PacketTypeLegacyWelcome, len: 0"

2. Playback Failure (AES Key Refused):

Plaintextinfo: Sending Spotify command with payload to local API: /player/play time="2026-10-15T12:04:44+02:00" level=debug msg="resolved context of track" uri="spotify:track:3TWpz0iK17gFlxWlIs3MIQ" time="2026-10-15T12:04:44+02:00" level=debug msg="loading track (paused: false, position: 0ms)" uri="spotify:track:3TWpz0iK17gFlxWlIs3MIQ" time="2026-10-15T12:04:44+02:00" level=debug msg="selected format OGG_VORBIS_320 (7bd3502ba7a5f37fa2db90e1e290c1192349473a)" uri="spotify:track:3TWpz0iK17gFlxWlIs3MIQ" time="2026-10-15T12:04:44+02:00" level=debug msg="requested aes key for file 7bd3502ba7a5f37fa2db90e1e290c1192349473a, gid: 3TWpz0iK17gFlxWlIs3MIQ" time="2026-10-15T12:04:44+02:00" level=warning msg="current track unplayable, skipping forward: spotify:track:3TWpz0iK17gFlxWlIs3MIQ" error="failed creating stream for spotify:track:3TWpz0iK17gFlxWlIs3MIQ: failed retrieving audio key: failed retrieving aes key with code 1" ... time="2026-10-15T12:04:50+02:00" level=warning msg="skipping track: Spotify refused the audio key (code 1) for this playback context: spotify:track:3TWpz0iK17gFlxWlIs3MIQ" error="failed creating stream for spotify:track:3TWpz0iK17gFlxWlIs3MIQ: failed retrieving audio key: failed retrieving aes key with code 1" time="2026-10-15T12:04:50+02:00" level=warning msg="stopping after 51 consecutive unplayable tracks" error="failed creating stream for spotify:track:3TWpz0iK17gFlxWlIs3MIQ: failed retrieving audio key: failed retrieving aes key with code 1" time="2026-10-15T12:04:50+02:00" level=error msg="failed handling request play" error="failed loading context: failed loading current track (load context): failed advancing past unplayable track: failed creating stream for spotify:track:3TWpz0iK17gFlxWlIs3MIQ: failed retrieving audio key: failed retrieving aes key with code 1" error: Failed to send command to Spotify local API: /player/play: Error: Internal Server Error

Steps Already Tested (Without Success)

  • Upgraded spop to v4.5.0 (go-librespot 0.9.1) via test mode.
  • Performed “Sign out everywhere” on the Spotify account page and re-authenticated via OAuth and pairing code.
  • Tested lower bitrate settings (160 kbps / Normal).
  • Verified that an older account on the exact same Family plan plays immediately on this device.

Is there any known workaround or upcoming update in go-librespot (e.g., alternative stream endpoint resolution or token handling) to address Spotify blocking raw AES keys for newly created accounts?

Thanks in advance!

Matthias

Unfortunately this matches a known upstream issue, and it is not caused by your Volumio setup.

The Volumio Spotify plugin 4.x is built on go-librespot, and the go-librespot issue tracker on GitHub (issue 279, “failed retrieving aes key with code 1”) documents exactly your pattern: on the same device, one account plays fine while another fails with that error, so it is account-specific, not a device, network or configuration problem. One user there reports that two brand-new accounts both fail even with the most recent go-librespot code, while older accounts keep working.

The maintainer has labeled that issue “spotify-side” and considers it out of the project’s control. It is suspected to be related to Spotify gradually forcing certain accounts, mostly newer ones, onto their newer PlayPlay DRM. The same problem is tracked for the original librespot project in its GitHub issue 1649. There is no real fix yet; the only mitigation discussed so far just skips affected tracks, and the maintainer does not expect much from it either.

Short version: nothing is wrong with your device or your plugin settings, and reinstalling will not change it. Your older accounts should keep playing; for the newly created ones it currently depends on Spotify changing course or the librespot projects finding a workaround.

As long as the issue is open, you have 2 options:

Hi. After updating to the latest Volumio OS, the Spotify plugin has stopped working again. It skips to the next track every second, continuing until the end of the album or playlist. Is this a known issue?

Before that, everything was in perfect order.