explaingit

rigellute/spotify-tui

Analysis updated 2026-06-21

19,169RustAudience · developerComplexity · 2/5Setup · moderate

TLDR

A keyboard-driven Spotify client that lives entirely in your terminal, letting you browse playlists, search tracks, and control playback without a graphical app, with CLI scripting support.

Mindmap

mindmap
  root((spotify-tui))
    What it does
      Terminal Spotify client
      Keyboard-driven UI
    Tech stack
      Rust
      Spotify API
    Features
      Browse playlists
      Search tracks
      Playback control
      CLI scripting
    Platforms
      macOS
      Linux
      Windows 10
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Control Spotify playback from the terminal without leaving your coding environment.

USE CASE 2

Write shell scripts that play a random song from a specific playlist or toggle playback as part of a workflow.

USE CASE 3

Browse and search your entire Spotify library with a keyboard-driven terminal interface.

USE CASE 4

Pair with spotifyd for a fully lightweight GUI-free Spotify setup on Linux.

What is it built with?

Rust

How does it compare?

rigellute/spotify-tuifathyb/carbonyl0x192/universal-android-debloater
Stars19,16919,08819,293
LanguageRustRustRust
Setup difficultymoderatemoderatemoderate
Complexity2/53/52/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a one-time Spotify Developer API key registration and OAuth setup before first use.

In plain English

Spotify TUI is a Spotify client for your terminal, written in Rust. Instead of opening the Spotify desktop app or web player, you control your music entirely through a keyboard-driven text interface in the command line. It connects to Spotify's official API, so you need a Spotify account (free or premium) and a brief one-time setup to register an API key. Once configured, you can browse your playlists, search for songs, play and pause tracks, like songs, toggle shuffle, and more, all without leaving the terminal. There is also a command-line interface for scripting: you can write a shell command to play a random song from a specific playlist, search for tracks with custom output formatting, or toggle playback from a script. The app is available on macOS, Linux (including Arch, Fedora, NixOS, and Void Linux), and Windows 10. You would use Spotify TUI if you prefer living in the terminal and want to control Spotify without the overhead of a graphical app, or if you want to script music playback as part of a workflow. It pairs well with spotifyd, a lightweight background Spotify daemon also mentioned in the README.

Copy-paste prompts

Prompt 1
Write a shell script using spotify-tui's CLI to shuffle-play my Focus Spotify playlist when I start a work session.
Prompt 2
How do I set up spotify-tui on Arch Linux alongside spotifyd so I can control Spotify entirely from the terminal without a graphical app?
Prompt 3
Show me how to use spotify-tui's search CLI flag to find a track and pipe the output to another command in a shell script.
Prompt 4
Walk me through the one-time Spotify API key setup for spotify-tui so I can complete the OAuth flow without getting stuck.

Frequently asked questions

What is spotify-tui?

A keyboard-driven Spotify client that lives entirely in your terminal, letting you browse playlists, search tracks, and control playback without a graphical app, with CLI scripting support.

What language is spotify-tui written in?

Mainly Rust. The stack also includes Rust.

How hard is spotify-tui to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is spotify-tui for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub rigellute on gitmyhub

Verify against the repo before relying on details.