Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Spotify CLI for headless Linux servers. Control Spotify playback via terminal using cookie auth (no OAuth callback needed). Perfect for remote servers withou...
Spotify CLI for headless Linux servers. Control Spotify playback via terminal using cookie auth (no OAuth callback needed). Perfect for remote servers withou...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Control Spotify from headless Linux servers using cookie-based auth. No OAuth callback needed - perfect for remote servers.
The original spotify-player skill by steipete on ClawHub assumes local browser access for cookie import (spogo auth import --browser chrome). On headless Linux servers without a local browser, this doesn't work. This skill documents the cookie-based workaround - copy 2 browser cookies and you're done. No OAuth, no localhost needed.
Spotify Premium account Go 1.21+ installed User's Spotify browser cookies
# Ubuntu/Debian sudo apt update && sudo apt install -y golang-go # Or download latest from https://go.dev/dl/ wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz echo 'export PATH=$PATH:/usr/local/go/bin:~/go/bin' >> ~/.bashrc source ~/.bashrc
go install github.com/steipete/spogo/cmd/spogo@latest This installs to ~/go/bin/spogo. Add to PATH if needed: sudo ln -s ~/go/bin/spogo /usr/local/bin/spogo
spogo --version # spogo v0.2.0
Since OAuth requires localhost callback (impossible on remote servers), we use cookie auth instead.
Have the user open DevTools โ Application โ Cookies โ open.spotify.com and copy: sp_dc - Main auth token (long string, required) sp_t - Device ID (UUID format, required for playback)
Create ~/.config/spogo/config.toml: default_profile = "default" [profile.default] cookie_path = "/root/.config/spogo/cookies/default.json" market = "IL" language = "en"
Create ~/.config/spogo/cookies/default.json: [ { "name": "sp_dc", "value": "USER_SP_DC_VALUE", "domain": ".spotify.com", "path": "/", "expires": "2027-01-01T00:00:00Z", "secure": true, "http_only": true }, { "name": "sp_t", "value": "USER_SP_T_VALUE", "domain": ".spotify.com", "path": "/", "expires": "2027-01-01T00:00:00Z", "secure": false, "http_only": false } ]
spogo auth status # โ "Cookies: 2 (file)"
# Search spogo search track "query" spogo search track "query" --json --limit 5 # Play spogo play spotify:track:ID spogo play # Resume spogo pause spogo next / spogo prev # Devices spogo device list --json spogo device set "DEVICE_ID" # Status spogo status spogo status --json
spogo needs an active Spotify session. If no device played recently: Open track in browser: browser open https://open.spotify.com/track/TRACK_ID profile=openclaw Click Play via browser automation Transfer to target device: spogo device set "DEVICE_ID" The browser profile stays logged in (cookies persist). Session stays active for hours after playback.
Connect API (default): No rate limits โ Web API (--engine web): Rate limited (429 errors) For library access when rate limited โ use browser automation
No active Spotify session. Use browser fallback (see above) to start playback first.
Cookies expired. Get fresh cookies from browser and update the JSON file.
Check spogo device list - playback might be on wrong device. Use spogo device set "DEVICE_ID" to switch.
Cookie handling: sp_dc and sp_t are stored locally in ~/.config/spogo/cookies/ โ treat them as secrets, never log or share them Network access: spogo only communicates with Spotify APIs (api.spotify.com, open.spotify.com) Browser fallback: Optional โ only used when no active Spotify device exists. Uses the agent's browser profile to open open.spotify.com and click Play. This does NOT extract additional cookies or access other browser state Install source: go install from the official steipete/spogo GitHub repository โ open source, auditable
Cookie expiry: ~1 year, but may invalidate if user logs out or changes password Premium required: Free accounts can't use Connect API Market setting: Change market in config for correct regional availability (IL, US, etc.)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.