When Spotify launched, it was the thing of childhood dreams: every album, single, and music track ever released, playable at no additional cost beyond a small subscription fee. As someone who used to spend hundreds of dollars on a handful of albums each year, it was a revelation.
I still love Spotify, the service, but I’ve never been entirely happy with the Spotify app. Its cluttered interface, slow pace of feature releases, and limited keyboard support all grate on me. Plus, the interminable “you’re offline” message that forces me to restart the app, even though I’m not. There must be a better way…
spotify_player is a Spotify client for the command line
The app aims for full feature parity with the official Spotify app
As a confirmed lover of the terminal, I’m forever on the lookout for heavyweight GUI tools that I can replace with leaner, more accessible alternatives. Many of these are TUI apps, which have undergone renewed interest in recent years.
The spotify_player (or spotify-player) TUI was inspired by spotify-tui, another program written in the Rust programming language that gives you access to Spotify in your terminal. Sadly, that app has now been all but abandoned; without any commits in the past five years, it’s even now been removed from Homebrew. Fortunately, this successor is active, with regular commits from a small group of contributors.
Almost every Spotify feature is supported
From comprehensive browsing to full playlist management
The spotify_player app does a great job of replicating most of what Spotify offers. Its default interface is basic but highly usable, with sections for track playback and three listings: playlists, albums, and artists.
In fact, spotify_player is so full-featured that pretty much the only things missing, for obvious reasons, are the images of album artwork you used to seeing dotted around Spotify’s interface. Oh, wait; it has those too!
There’s even a graphical audio visualiser, something which the official app doesn’t have at all:
Since everything is controlled by the keyboard, it’s useful to be able to discover command shortcuts. The ? key brings up a command panel which lists the most common commands and their keyboard shortcuts. Some shortcuts—like s (sort) and g (go to)—bring up a separate panel that lists a group of related commands.
Like any TUI, the focus on keyboard-based interaction means an initial learning curve that’s slightly higher than a GUI equivalent. But once you’ve spent some time with it, spotify_player is easier to navigate with. I’ve already found it quicker to find certain functions here than with the Spotify client, which can involve trawling across different icons, menus, and pages to locate certain features.
Also familiar to TUI users is the config file, which, in spotify_player’s case, is surprisingly comprehensive. Alongside default timings and an overall theme, you can decide exactly which interface controls are present, and even their size and layout. You can even change the play and pause icon if you really want to; let me know when the official Spotify client gives you that kind of customization!
But spotify_player can’t quite do absolutely everything
The Spotify API still walls off some features
While spotify_player replicates an awful lot of the overall Spotify experience, it cannot recreate every last feature. Like any other third-party client, it uses the Spotify API to interact with the service, so anything not available via the API will not be supported. Many of these features are “algorithmic,” designed to aid discovery based on your habits and those of others.
Smart Shuffle is one of those features that you either love or hate—maybe enough to turn it off altogether. If you’re in the former camp, however, you’ll be disappointed to learn that it’s unavailable in spotify_player. Of course, the TUI client still supports all manner of playback options, from standard shuffle to switching to the next/previous track, playing a random track in the current context, and seeking by 5s intervals within the current track.
You’ll also have to live without highly specific features that can help refine the underlying algorithm, like the “exclude from taste profile” option that lets you avoid certain tracks from impacting your recommendations.
However, not all algorithm-specific features are missing. Made For You recommendations, for example, are right there as a category under the “browse” page—they are just playlists, after all. spotify_player also includes useful navigation recommendations like “Related Artists,” but it does omit the detailed artist biographies that are simply missing from the API.
spotify_player is a perfect replacement if you’re OK without one or two features
If you’re going to run Spotify and listen to music all day, why not do so in the most unobtrusive way possible? Save the weight of a full-blown GUI app, avoid the slow and unreliable start up sequence of Spotify’s client, and have everything accessible to you at the press of a key (or two).
While I’m missing out on a few of the more niche features that Spotify provides, I’m much happier, on the whole, with this alternative.


