/
/
/
# What does this implement/fix? Spotify playback stopped working for everyone on 10 August: browsing and artwork still load, but every track fails with "No playable item found to start playback". Spotify changed what it accepts when authorizing playback. It now only accepts a playback credential that was created with Spotify's own built-in app identity, and rejects one created with Music Assistant's. Playback is therefore authorized separately from the rest of the Spotify connection, through one extra step during setup. Two ways to complete that step, so it works on every kind of network: - **Spotify app (recommended)** — select Music Assistant once in the Spotify app, the way you would pick a speaker. - **Web browser** — for setups where Music Assistant does not show up in the Spotify app, for example a different network or a container without home-network access. Everyone using Spotify has to run through the Spotify setup once more; Music Assistant asks for this automatically. **Related issue (if applicable):** - https://github.com/music-assistant/support/issues/6043 ## Types of changes - [x] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [ ] New feature (non-breaking change which adds functionality) — `new-feature` - [ ] Enhancement to an existing feature — `enhancement` - [ ] New music/player/metadata/plugin provider — `new-provider` - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) — `breaking-change` - [ ] Refactor (no behaviour change) — `refactor` - [ ] Documentation only — `documentation` - [ ] Maintenance / chore — `maintenance` - [ ] CI / workflow change — `ci` - [ ] Dependencies bump — `dependencies` ## Changes - Added a playback authorization step to the Spotify setup flow, with Spotify-app pairing and a browser fallback. - Playback credentials are stored with the provider config and installed for librespot on load, instead of being derived from the Web API token. - Existing setups are flagged as needing re-authentication, since their stored playback credential can no longer work. - A rejected playback credential now surfaces as an authentication problem instead of every track silently appearing unplayable. - Rewrote the setup steps as short numbered instructions, and the final step now explains that the library keeps filling up in the background after setup. - The optional developer key moved behind a checkbox on that final step, so it is an opt-in extra instead of something to answer during setup. Spotify Connect is unaffected and needs no change. `stable` is affected too and gets its own PR, since it has no setup flow to hook into. ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [ ] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [ ] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate.