# spotify-tui — Spotify Client for Your Terminal in Rust > A fast terminal user interface for Spotify written in Rust, letting you browse, search, and control playback from the command line. ## Install Save in your project root: # spotify-tui — Spotify Client for Your Terminal in Rust ## Quick Use ```bash # macOS brew install spotify-tui # or cargo cargo install spotify-tui spt ``` ## Introduction spotify-tui (spt) brings a full Spotify experience to the terminal. Built in Rust with the tui-rs library, it provides a keyboard-driven interface for browsing your library, searching tracks, and controlling playback without leaving the command line. ## What spotify-tui Does - Browse saved albums, playlists, podcasts, and recently played tracks - Search for artists, albums, tracks, and playlists within the terminal - Control playback: play, pause, skip, seek, shuffle, and repeat - Manage your library by saving or removing tracks and albums - Display current playback with track progress and device info ## Architecture Overview spotify-tui communicates with the Spotify Web API using OAuth 2.0 PKCE authorization. It renders the interface using tui-rs (now ratatui) with a crossterm backend. Audio playback is handled by an active Spotify client on any device; spt acts as a remote controller rather than a local audio player. ## Self-Hosting & Configuration - Requires a Spotify Premium account for playback control - Create a Spotify Developer app at developer.spotify.com for API credentials - Set client ID via the interactive first-run setup or config file - Config lives at `~/.config/spotify-tui/client.yml` - Customize keybindings and theme in the config file ## Key Features - Vim-style keybindings for fast navigation - Device switching to transfer playback between speakers and devices - Lyrics display integration via the Genius API - Album art rendering in terminals that support images (e.g. kitty, iTerm2) - Low resource usage compared to the official Electron-based desktop app ## Comparison with Similar Tools - **ncspot** — Another Rust Spotify TUI; plays audio natively without needing another client - **Spotify Desktop** — Full GUI app built on Electron; heavier on resources - **cmus** — General-purpose terminal music player; no Spotify integration - **playerctl** — CLI playback controller; no browsing or search UI ## FAQ **Q: Does spotify-tui play audio directly?** A: No. It controls playback on an active Spotify client. You need Spotify running on a device. **Q: Do I need Spotify Premium?** A: Yes. The Spotify Web API requires Premium for playback control features. **Q: Can I use it with a tiling window manager?** A: Yes. It is a terminal app, so it integrates naturally with i3, sway, and similar setups. **Q: Is the project still maintained?** A: Development has slowed, but the app remains functional with the current Spotify API. ## Sources - https://github.com/Rigellute/spotify-tui - https://docs.rs/spotify-tui --- Source: https://tokrepo.com/en/workflows/asset-e26730bc Author: AI Open Source