
spotify-tui
A terminal Spotify client written in Rust, controlled by keyboard or command line.
- Stars
- 19.4k
- Forks
- 585
- Licence
- MIT
- Language
- Rust
- Last update
- 2.6 years ago
- Type
- App
No commits in over a year — check for forks or alternatives before adopting.
What it is
spotify-tui is a text-based Spotify player that runs inside a terminal window. You sign in with your own Spotify developer app credentials, then browse and search your music and control playback with the keyboard. It also has a command-line mode (the binary is named spt) for scripted actions like playing a playlist or liking the current song.
- Search for a track and play it from the terminal
- Start a random song from a named playlist with a single command
- Like the current song or toggle shuffle from a shell script
- List your liked songs in the terminal with a set limit
- Print search results in a custom format such as '{name} from {album}'
Great for
- People who live in the terminal and want to control Spotify without a browser or GUI
- Linux or macOS users who prefer keyboard-driven tools
- Developers who want to script Spotify actions from the shell
- Users comfortable creating a Spotify developer app to get API credentials
Not ideal for
- Users who want to stream audio inside the app itself: the README describes it as a client that controls Spotify through its API, so you still need Spotify running for playback
- People who are not comfortable setting up API keys and editing a config file
- Users who need a graphical interface with album art and mouse-driven controls
How to get it
- 1
Install with a package manager
You'll need: Homebrew, Snap, AUR helper, Nix, Scoop, or Rust with cargo (depending on chosen method) · OpenSSL development packages and pkg-config on Linux when building with Cargo
Install with Homebrew (macOS and Linux)
brew install spotify-tuiInstall with Cargo (build from source)
cargo install spotify-tui - 2
Run it
- Create a Spotify developer app at the Spotify dashboard and add http://localhost:8888/callback as a Redirect URI
- Run spt in your terminal
- Enter your Client ID and Client Secret when prompted
- Accept the permissions in the browser page and let the redirect complete
- Press ? inside the app to see the key bindings
- 3
Get the most out of it
- Use spt --help to see the full command-line options
- Generate shell completions with spt --completions zsh (bash and PowerShell are also mentioned)
- Edit ${HOME}/.config/spotify-tui/config.yml to change theme colours and behaviour settings such as seek_milliseconds and volume_increment
- Combine CLI commands like spt playback --toggle in shell scripts or keybindings
- The README mentions pairing with spotifyd, though details were not reviewed in the truncated text
Downloads
Strengths
- Keyboard-driven interface with a help menu opened by pressing ?
- Offers both an interactive UI and a CLI for most of the same actions
- Themes and behaviour can be customised in a YAML config file
Trade-offs
- Requires creating your own Spotify developer app and entering Client ID and Client Secret during setup
- Linux builds from Cargo need OpenSSL development packages and pkg-config
- README includes a Limitations section and a Roadmap listing features not yet implemented, and the README was truncated so the full list was not reviewed
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| spotify-tui (this) | 19.4k | App | intermediate | 2.6 years ago | People who live in the terminal and want to control Spotify without a browser or GUI |
| Terminal.Gui | 11.3k | Library | intermediate | 6 days ago | C# / .NET developers building terminal tools with forms, tables or menus |
| FTXUI | 10.9k | Library | intermediate | 4 days ago | C++ developers who want interactive text-based tools in the terminal |
| terminal | 105k | App | beginner | 6 days ago | Windows users who work in the command line every day and want tabs and rich text |
| hyper | 44.8k | App | beginner | 3 months ago | Developers who want a terminal they can customize with extensions or themes |
| yazi | 43.2k | App | intermediate | 4 days ago | People who already spend time in a terminal and want a faster way to browse folders |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.