A terminal UI remote control for Spotify, written in Rust. Crabify lets you browse your library, search for tracks, manage liked songs, and control playback on any active Spotify client (desktop, mobile, or web). It does not play audio itself.
This project is in alpha and may not work as expected.
Note: Spotify has currently paused the creation of new developer projects on their portal. If you don't already have a Spotify app registered, you may not be able to use crabify until this restriction is lifted.
You need a Spotify account and a registered application in the Spotify Developer Dashboard. Create an app, note the Client ID, and add http://127.0.0.1:8888/callback as a redirect URI.
cargo install crabify
Or build from source:
git clone https://github.com/eiiot/crabify
cd crabify
cargo build --release
The binary will be at target/release/crabify.
Set your Spotify Client ID as an environment variable:
export SPOTIFY_CLIENT_ID=your_client_id
Or create a .env file in the working directory:
SPOTIFY_CLIENT_ID=your_client_id
On first run, crabify will open your browser for Spotify authentication. The token is cached at ~/.config/crabify/ for subsequent sessions.
Run crabify with Spotify open on any device. The interface has three screens (Library, Search, Liked Songs) navigable with Tab. Press ? for the full keybinding reference.
MIT
Code in this repository was created with the use of Claude Code.
