Repository navigation
Installation
If you have Rust installed:
cargo install spotatuiwinget install spotatuibrew tap LargeModGames/spotatui
brew install spotatuispotatui uses the portaudio backend for better stability and bluetooth device support (AirPods, etc.):
brew install portaudioDownload from GitHub Releases:
| Platform | File |
|---|---|
| Windows 10/11 (64-bit) | spotatui-windows-x86_64.zip |
| Linux (Ubuntu, Arch, Fedora, etc.) | spotatui-linux-x86_64.tar.gz |
| macOS (Intel) | spotatui-macos-x86_64.tar.gz |
| macOS (Apple Silicon M1/M2/M3) | spotatui-macos-aarch64.tar.gz |
Checksums (.sha256) are provided if you want to verify the download.
yay -S spotatui
# or
paru -S spotatuiFor audio visualization, you need PipeWire installed:
# Debian/Ubuntu
sudo apt-get install libpipewire-0.3-0
# Arch Linux (already included with pipewire)
sudo pacman -S pipewire
# Fedora (already included with pipewire)
sudo dnf install pipewireNote: Most modern Linux distributions already have PipeWire installed by default.
Ensure you have Rust installed.
macOS:
brew install portaudioLinux (Debian/Ubuntu):
sudo apt-get install libssl-dev libasound2-dev pkg-configLinux (Arch):
sudo pacman -S openssl alsa-lib pkg-configLinux (Fedora):
sudo dnf install openssl-devel alsa-lib-devel pkg-configgit clone https://github.com/LargeModGames/spotatui.git
cd spotatuimacOS:
cargo install --path . --no-default-features --features telemetry,streaming,portaudio-backend,audio-viz-cpalLinux/Windows:
cargo install --path .Nix:
nix-buildWhen a new version is available, you'll see a popup notification on startup. To update:
- Close spotatui
- Run:
spotatui update --install
If you installed via a package manager (AUR, cargo, etc.), update through there instead.
Beyond the TUI, spotatui has a full command-line interface for scripting playback, searching, and managing plugins β see CLI Usage for the complete reference.
Useful top-level flags:
| Flag | Purpose |
|---|---|
-c, --config <PATH> |
Use a custom config file |
--completions <SHELL> |
Print shell completions (bash/zsh/fish/power-shell/elvish) |
--reconfigure-auth |
Forget the cached Spotify login and log in again |
-U, --no-update |
Skip the auto-update check on this launch |
-t, --tick-rate <MS> |
Override the UI tick rate |
spotatui talks to Spotify the way the official app does. It needs no Spotify developer app and no client ID, and Spotify in spotatui needs a Premium account.
To log in, pick Spotify on the first run, or press d and pick Spotify later. spotatui shows a short
code and opens Spotify's pairing page in your browser. Confirm the code there; the login is cached, so
this happens once. Run spotatui --reconfigure-auth to forget the login and log in again, for example
with another account.
A client.yml from an older version stays on disk and is no longer used for the login. spotatui copies
its native-streaming settings and saved device into config.yml and state.yml once.