Spotify TUI – Spotify client for the terminal

First launched in 2008, Spotify is a digital music streaming service with a freemium business model. You can listen to a huge library of music and podcasts for no charge if you are prepared to have shuffle play (with limited skips), interrupted listening and lower audio bitrate. Alternatively, there’s the option of Spotify Premium. In the UK, a subscription costs £9.99 per month for an individual account. This gives you streaming music at 320 kbps, the ability to download music, and full functionality.

Spotify provide a semi-official app for the service. But third-party clients are available for Spotify Premium users. Spotify blocks API access to their audio for non-premium members.

We recently reviewed spotify-qt, a lightweight graphical Spotify client written in C++. For this review, we’re looking at Spotify TUI. It’s a Spotify client for the terminal written in Rust.


Like spotify-qt, Spotify TUI is available in the Arch User Repository. We tested the software exclusively in Manjaro, but there are packages available for other distros.

Installation is a similar process in that we installed and configured spotifyd first. We won’t reproduce those steps; see the Installation section of spotify-qt.

Spotify TUI also needs to connect to Spotify’s API.

To start the software, run spt from the command-line. You’ll see text similar to below.

Config will be saved to /home/luke/.config/spotify-tui/client.yml

How to get setup:

  1. Go to the Spotify dashboard -
  2. Click `Create a Client ID` and create an app
  3. Now click `Edit Settings`
  4. Add `http://localhost:8888/callback` to the Redirect URIs
  5. You are now ready to authenticate with Spotify!

Follow the 5 numbered steps unless you already have a Client ID.

You’ll be prompted to enter your Client ID, Client Secret (both 32 characters in length), and the port of the Redirect URI.

Once down, press d and select your device.

Next page: Page 2 – In Operation

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Memory Usage
Page 4 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments