Devices
Every Spotify-capable thing you've signed in on — phone, desktop app, web player, smart speaker, console — is a Spotify Connect device. spogo can list them and route playback to whichever you want.
#device list
spogo device list
spogo device list --plain
spogo device list --json
Prints every device Spotify Connect currently knows about, with the active one marked. Plain mode is one device per line: id, name, type, is_active, volume_percent.
#device set
spogo device set "Kitchen"
spogo device set 0d1841b0976bae2a3a310dd74c0f3df354899bc8
Transfers playback to the named device (case-insensitive substring match) or device ID. If the current Connect state has no origin device, spogo falls back to the Web API transfer endpoint instead of failing.
#--device flag (per-command)
Every playback / queue / status command accepts --device <name|id>:
spogo play spotify:track:... --device "Kitchen"
spogo volume 30 --device "MacBook Pro"
spogo status --device "Living Room"
This temporarily targets a specific device for one command without changing the active device.
#Default device
Set a per-shell default with the env var:
export SPOGO_DEVICE="Kitchen"
spogo play spotify:track:... # goes to Kitchen
spogo play spotify:track:... --device "Phone" # overrides
#Discovery tips
- A device only shows up after it has been opened/played to recently. If your speaker isn't listed, open Spotify on it once.
- The Spotify desktop app shows up as the device name from the OS (
MacBook Pro,peter-laptop). - Web players appear as
Web Player (Chrome)and similar; they don't persist after the tab closes. - Sonos / Google Cast / AirPlay endpoints appear when they're being used by a Spotify session — not always at idle.
#Errors
device not found— open the device's Spotify session once, then re-run.PREMIUM_REQUIRED— Connect transfer needs Premium.Connect state has no origin device— happens when no device is currently active; spogo retries via the Web API transfer.