Skip to content

Spotify playback fails on some accounts #932

Open

Description

@ThomasBestvina

What happened

As documented in librespot-org/librespot#1649 , librespot will fail to play audio on some accounts due to an audio key error. The conversation around it is much more detailed there than I can here.

When using spotatui to control a spotify app source, there are no issues, only when using spotatui or spotifyd as a source.

On my Linux machine the songs would refuse to play, and skip to a new song every few seconds, while on MacOS, I was simply met with an error.

Spotifast seems to be working around this with Spotify Soloist integration crmne/spotifast#1050

Steps to reproduce

  1. Login with affected account (Apparently any newly created account is affected?)
  2. Ensure source is spotatui, or other librespot based source.
  3. Attempt to play any music from spotify.
  4. Observe audio key error in logs, lack of audio, and other undefined behaviors.

Frontend

Terminal app

Source

Spotify

spotatui version

0.46.0

OS

Gentoo Linux, MacOS

How you installed spotatui

One-line installer

Terminal

Kitty

Debug log

[2026-10-24][19:06:39][spotatui::runtime][INFO] spotatui 0.46.0 startup | os=linux arch=x86_64 | features: telemetry, tui, streaming, audio-viz, cover-art, art-decode, scripting, self-update, mcp-server, ai-dj, dj-core, mpris, discord-rpc, local-files, subsonic, internet-radio, youtube, qobuz | terminal: TERM=xterm-kitty TERM_PROGRAM=unknown Windows Terminal=no
[2026-10-24][19:06:39][spotatui::runtime][INFO] spotatui 0.46.0 starting up
[2026-10-24][19:06:39][spotatui::runtime][INFO] audio backend initialized
[2026-10-24][19:06:39][spotatui::runtime][INFO] panic hook configured
[2026-10-24][19:06:39][spotatui::runtime::bootstrap][INFO] user config loaded successfully
[2026-10-24][19:06:40][spotatui::runtime::bootstrap][INFO] app state initialized
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] launching interactive terminal ui
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] mpris d-bus interface registered - media keys and playerctl enabled
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] discord rich presence enabled
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] spawning spotify network event handler
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] starting terminal ui event loop
[2026-10-24][19:06:40][spotatui::runtime::startup][INFO] ui thread initialized
[2026-10-24][19:06:40][spotatui::core::driver][INFO] no lua plugin files found; scripting engine not started
[2026-10-24][19:06:40][spotatui::infra::playlist_sync][INFO] playlist sync: run requested (filter=None, dry_run=false)
[2026-10-24][19:06:40][spotatui::tui::cover_art][INFO] cover art renderer detected a Kitty backend
[2026-10-24][19:06:40][spotatui::tui::runner][INFO] enabled keyboard enhancement flags
[2026-10-24][19:06:40][spotatui::infra::history][INFO] cloud sync disabled (no sync token configured) at history collector startup
[2026-10-24][19:06:40][spotatui_librespot_core::session][INFO] Connecting to AP "ap-guc3.spotify.com:4070"
[2026-10-24][19:06:41][spotatui_librespot_core::session][INFO] Authenticated as '3cifex0d54el3mx0g8idwwz7p' !
[2026-10-24][19:06:41][spotatui_librespot_core::session][INFO] Country: "US"
[2026-10-24][19:06:41][spotatui::infra::spotify::session][INFO] Spotify session connected (US)
[2026-10-24][19:06:41][spotatui::runtime::streaming::launch][INFO] initializing native streaming player
[2026-10-24][19:06:41][spotatui_librespot_playback::mixer::softmixer][INFO] Mixing with softvol and volume control: Log(60.0)
[2026-10-24][19:06:41][spotatui::infra::player::streaming][INFO] Initializing Spirc with device_id=76ff95e9-6f81-4cb6-a9b9-cf83c9fda286
[2026-10-24][19:06:41][spotatui_librespot_playback::convert][INFO] Converting with ditherer: tpdf
[2026-10-24][19:06:42][spotatui_librespot_core::session][INFO] Connecting to AP "ap-guc3.spotify.com:4070"
[2026-10-24][19:06:42][spotatui_librespot_core::spclient][INFO] Resolved "guc3-spclient.spotify.com:443" as spclient access point
[2026-10-24][19:06:42][spotatui_librespot_core::session][INFO] Authenticated as '3cifex0d54el3mx0g8idwwz7p' !
[2026-10-24][19:06:42][spotatui_librespot_core::session][INFO] Country: "US"
[2026-10-24][19:06:42][spotatui::infra::player::streaming][INFO] Streaming connection established!
[2026-10-24][19:06:42][spotatui::runtime::streaming::launch][INFO] native streaming player initialized as 'spotatui'
[2026-10-24][19:06:42][spotatui::runtime::streaming::launch][INFO] native playback enabled - spotatui is available as a spotify connect device
[2026-10-24][19:06:42][spotatui::infra::player::events][INFO] spawning native player event handler
[2026-10-24][19:06:42][spotatui_librespot_core::spclient][INFO] Resolved "guc3-spclient.spotify.com:443" as spclient access point
[2026-10-24][19:06:42][spotatui_librespot_connect::spirc][INFO] active device is <> with session <11bacc1e0d254a49a0c67b7e8dea9a06>
[2026-10-24][19:06:46][spotatui::core::app::route][INFO] navigating to TrackTable
[2026-10-24][19:06:46][spotatui::infra::network::playback][INFO] starting native playback via direct load route
[2026-10-24][19:06:47][spotatui::infra::network::playback][INFO] idle playback poll: transferring playback to the native device
[2026-10-24][19:06:50][spotatui_librespot_core::dealer][WARN] Websocket connection failed: WebSocket protocol error: Remote sent after having closed
[2026-10-24][19:06:50][spotatui_librespot_core::dealer][WARN] Error while closing websocket: WebSocket protocol error: Sending after closing is not allowed
[2026-10-24][19:06:50][spotatui_librespot_connect::state::context][WARN] couldn't load context info because: context is not available. type: Default
[2026-10-24][19:06:50][spotatui::infra::network::playback][INFO] starting native playback via direct load route
[2026-10-24][19:06:50][spotatui_librespot_connect::state::context][WARN] couldn't load context info because: context is not available. type: Default
[2026-10-24][19:06:50][spotatui_librespot_connect::state::context][WARN] couldn't load context info because: context is not available. type: Default
[2026-10-24][19:06:50][spotatui_librespot_core::dealer][WARN] Wasn't able to reply to dealer request: channel closed
[2026-10-24][19:06:50][spotatui_librespot_playback::player][INFO] Loading with Spotify URI spotify:track:5cuVKy1Qz0hqNRt0XAFpMG
[2026-10-24][19:06:50][spotatui_librespot_playback::player][INFO] Loading <Don't Look Back (Diane's Version) [feat. Kotomi and Ryan Elder] - from "Rick and Morty: Season 8"> with Spotify URI spotify:track:7xaU3tTPQwxp1OmzX2cO1i
[2026-10-24][19:06:50][spotatui_librespot_connect::spirc][WARN] SpircCommand::Transfer(None) will be ignored while already active
[2026-10-24][19:06:50][spotatui_librespot_core::audio_key][ERROR] error audio key 0 1
[2026-10-24][19:06:50][spotatui_librespot_playback::player][WARN] Unable to load key, continuing without decryption: Service unavailable { audio key error }
[2026-10-24][19:06:50][symphonia_codec_aac::adts][INFO] estimating duration from bitrate, may be inaccurate for vbr files
[2026-10-24][19:06:50][spotatui_librespot_playback::player][ERROR] Unable to read audio file: Symphonia Decoder Error: unsupported feature: aac: aac too complex
[2026-10-24][19:06:50][spotatui_librespot_core::audio_key][ERROR] error audio key 0 1
[2026-10-24][19:06:50][spotatui_librespot_playback::player][WARN] Unable to load key, continuing without decryption: Service unavailable { audio key error }
[2026-10-24][19:06:50][symphonia_bundle_mp3::demuxer][WARN] skipping junk at 13837 bytes
[2026-10-24][19:06:50][symphonia_bundle_mp3::demuxer][WARN] skipping junk at 24562 bytes
[2026-10-24][19:06:50][symphonia_bundle_mp3::demuxer][WARN] skipping junk at 39489 bytes
[2026-10-24][19:06:50][symphonia_bundle_mp3::demuxer][WARN] skipping junk at 61710 bytes
[2026-10-24][19:06:50][spotatui_librespot_connect::spirc][WARN] SpircCommand::Activate will be ignored while already active
[2026-10-24][19:06:50][symphonia_bundle_mp3::demuxer][WARN] invalid mpeg audio header

Activity

  1. spotatui commented on Oct 25, 2026

    @spotatui
    Contributor

    🎧 spotatui triage

    Auto-triaged with claude-opus-5-5.

    Label: bug
    Likely area: Native streaming (infra/player, librespot fork)

    Summary

    On some Spotify accounts, newer ones in particular, spotatui's native streaming player (librespot) cannot play any track. Spotify rejects the audio key (error audio key 0 1, upstream librespot-org/librespot#1649). On Linux the reporter's tracks refuse to play and skip every few seconds, and on macOS they get an error. Using spotatui to control the Spotify app as the playback device works fine. The key block itself comes from upstream, and open issue #537 already tracks the endless auto-skip it causes in spotatui.

    Key points

    • spotatui 0.46.0, terminal app (Kitty), installed with the one-line installer, on Gentoo Linux and macOS.
    • Playback fails only when spotatui (or spotifyd) is the librespot-based playback device. Controlling the Spotify app as the device works.
    • The log shows error audio key 0 1, then Unable to load key, continuing without decryption, then Symphonia decoder errors.
    • On Linux songs refuse to play and skip to a new song every few seconds. On macOS the reporter just sees an error.
    • The reporter points to spotifast working around this through Spotify Soloist integration (Play refused songs through Spotify Soloist since MacOS and Windows support is available now crmne/spotifast#1050).

    Where to look

    • src/infra/player/events.rs: Handles PlayerEvent::Unavailable, which librespot emits on the audio key error. This is the guard that pauses after several consecutive unavailable tracks.
    • src/infra/player/streaming.rs: StreamingPlayer sets up the embedded librespot Spirc device that hits the audio key failure.

    What would help

    • The macOS log and the exact error text shown there.
    • Whether the skipping stops after a few tracks (the unavailable guard) or runs through the whole queue.
    • Whether the account is free or Premium, and how old it is.

    Possible duplicates

    Compared against 43 open and 100 recently closed issues.

  2. ThomasBestvina commented on Oct 25, 2026

    @ThomasBestvina
    Author

    Ah I now see this is a duplicate of #537, sorry. Though my issue doesn't seem to be with rate limiting, and an explicit error message of this issue with some spotify accounts in the tui would be appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions