Spotify Player

Terminal Spotify playback/search via spogo (preferred) or spotify_player. Control playback, search tracks, manage devices.

The Spotify Player skill brings terminal-based Spotify control to OpenClaw via two CLI tools: spogo (preferred) and spotify_player. Between them, you get complete Spotify functionality without ever opening the desktop app — search tracks/albums/artists/playlists, control playback (play/pause/next/previous/seek), manage devices, handle your library, and script everything with JSON output. spogo, built by Peter Steinberger (steipete), is the recommended tool. It's a Go CLI that authenticates via web cookies (not the official Spotify API), which means it can do things the API can't — like search with richer results and bypass some rate limits. It supports plain text and JSON output, making it perfect for both interactive use and automation pipelines. spotify_player is the alternative — a Rust-based terminal music player by aome510 with a full TUI (text user interface). It's more of a complete Spotify client replacement with features like Lyric display, streaming via librespot, custom themes, and media control integration. It requires a Spotify Developer application for OAuth, which is more setup but gives you a proper interactive music player in your terminal. For OpenClaw users, this skill means your AI assistant can control your music: 'Play some lo-fi beats,' 'Skip this track,' 'What's playing right now?' The JSON output from spogo integrates cleanly with other automations — imagine a morning routine that starts your favorite playlist alongside your calendar briefing. Both tools require a Spotify Premium account for playback control. Free accounts can search but not play. The skill intelligently prefers spogo when available, falling back to spotify_player. Best suited for: Spotify Premium users who want terminal/AI music control, developers building music-aware automations, anyone who prefers CLI over the Electron-heavy Spotify desktop app.

Tags: spotify, music, playback, streaming

Category: Media

Use Cases

  • AI-controlled music: 'Play some jazz' or 'Skip this song' via chat
  • Morning routine automation: start a playlist when your day begins
  • Search and queue tracks without leaving the terminal
  • Device management: switch playback between speakers, phone, and desktop
  • Playlist management: create, add to, or modify playlists from scripts
  • Currently playing: show what's playing as part of a status dashboard

Tips

  • Use spogo for scripting and automation — it's designed for JSON/plain output pipelines
  • Use spotify_player for interactive listening sessions where you want a full TUI
  • Set a default device with spogo to avoid 'no active device' errors
  • Combine with OpenClaw cron for automated playlists: morning energetic, evening chill
  • Use `spogo search track 'query' --json --max 1` for quick track lookups in automations
  • For spogo auth: run `spogo auth` and follow the browser flow to store cookies
  • Pair with the blucli or sonoscli skills to control which speaker plays the music

Known Issues & Gotchas

  • Spotify Premium required for playback control — free accounts can only search
  • spogo authenticates via browser cookies, not OAuth — re-auth needed if cookies expire
  • spotify_player requires creating a Spotify Developer Application for OAuth credentials
  • spotify_player TUI needs a real terminal — won't work in non-interactive exec contexts
  • Active playback device required — if no device is active, playback commands fail silently
  • Some Spotify API rate limits still apply even with cookie-based auth (spogo)
  • spotify_player's librespot streaming may conflict with official Spotify client on the same account

Alternatives

  • spotify-tui (spt)
  • BluCLI (Bluesound)
  • SonosCLI
  • cmus / ncmpcpp

Community Feedback

A terminal music player, which I built to use it as a daily replacement for the official Spotify client. spotify_player is fast, configurable, and has feature parity with the desktop app.

— Reddit r/rust

Switching from spotify-tui to spotify_player. I stumbled across spotify_player, a viable alternative for listening to Spotify within the terminal with much better maintenance.

— Sudo Science Blog

Spotify, but make it terminal. Power CLI using web cookies. Search, control playback, manage library/playlists, and script with JSON/plain output.

— GitHub (spogo)

The skill is an instruction-only wrapper that tells the agent to use local CLI tools (spogo or spotify_player) for Spotify playback — no network access or API keys stored in the skill itself.

— Agent Skills Registry

Configuration Examples

spogo setup and basic use

# Install
brew install steipete/tap/spogo

# Authenticate (opens browser)
spogo auth

# Search and play
spogo search track "bohemian rhapsody" --max 3
spogo play --uri spotify:track:xxx

# Current status
spogo status --json | jq '{track: .item.name, artist: .item.artists[0].name}'

spotify_player setup

# Install
brew install spotify_player

# Configure OAuth credentials
mkdir -p ~/.config/spotify-player
cat > ~/.config/spotify-player/app.toml << 'EOF'
client_id = "your-spotify-app-client-id"
EOF

# Launch TUI
spotify_player

Playback control via spogo

# Play/pause/skip
spogo play
spogo pause
spogo next
spogo previous

# Volume
spogo volume 50

# Devices
spogo devices --json
spogo transfer --device "Living Room"

Installation

brew install steipete/tap/spogo

Homepage: https://www.spotify.com

Source: bundled