| name | spotify-applescript |
| description | Control Spotify desktop app via AppleScript. Play playlists, tracks, albums, episodes, and manage playback. Works reliably with macOS Spotify app without API keys or OAuth. |
| homepage | https://github.com/andrewjiang/HoloClawd-Open-Firmware |
| metadata | {"clawdbot":{"emoji":"🎵","os":["darwin"]}} |
| triggers | ["spotify","play music","play playlist","play episode","pause music","next track","previous track"] |
Spotify AppleScript Control
Control the Spotify desktop app using AppleScript. Works reliably with the macOS Spotify app without API rate limits or OAuth.
Requirements
- Spotify desktop app installed and running on macOS
- No setup required - just works
Quick Start
spotify play "spotify:playlist:665eC1myDA8iSepZ0HOZdG"
spotify play "https://open.spotify.com/playlist/665eC1myDA8iSepZ0HOZdG"
spotify play "spotify:episode:5yJKH11UlF3sS3gcKKaUYx"
spotify play "https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx"
spotify play "spotify:track:7hQJA50XrCWABAu5v6QZ4i"
spotify pause
spotify next
spotify prev
spotify status
spotify volume 50
spotify mute
spotify unmute
Spotify CLI Wrapper
The spotify command is a wrapper script at {baseDir}/spotify.sh
Commands
| Command | Description | Example |
|---|
play <uri> | Play track/album/playlist/episode | spotify play spotify:track:xxx |
pause | Toggle play/pause | spotify pause |
next | Next track | spotify next |
prev | Previous track | spotify prev |
status | Show current track info | spotify status |
volume <0-100> | Set volume | spotify volume 75 |
mute | Mute | spotify mute |
unmute | Unmute | spotify unmute |
URI Formats
Accepts both Spotify URIs and open.spotify.com URLs:
spotify:track:7hQJA50XrCWABAu5v6QZ4i
https://open.spotify.com/track/7hQJA50XrCWABAu5v6QZ4i
spotify:playlist:665eC1myDA8iSepZ0HOZdG
https://open.spotify.com/playlist/665eC1myDA8iSepZ0HOZdG?si=xxx
spotify:episode:5yJKH11UlF3sS3gcKKaUYx
https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx
spotify:album:xxx
spotify:artist:xxx
The script auto-converts URLs to URIs.
Direct AppleScript Commands
For more control, use AppleScript directly:
osascript -e 'tell application "Spotify" to play track "spotify:playlist:xxx"'
osascript -e 'tell application "Spotify" to playpause'
osascript -e 'tell application "Spotify" to next track'
osascript -e 'tell application "Spotify" to previous track'
osascript -e 'tell application "Spotify"
set trackName to name of current track
set artistName to artist of current track
return trackName & " by " & artistName
end tell'
osascript -e 'tell application "Spotify" to player state'
osascript -e 'tell application "Spotify" to set sound volume to 75'
osascript -e 'tell application "Spotify" to player position'
osascript -e 'tell application "Spotify" to set player position to 30'
Available Properties
tell application "Spotify"
name of current track -- Track name
artist of current track -- Artist name
album of current track -- Album name
duration of current track -- Duration in ms
player position -- Position in seconds
player state -- playing/paused/stopped
sound volume -- 0-100
repeating -- true/false
repeating enabled -- true/false
shuffling -- true/false
shuffling enabled -- true/false
end tell
Examples
Agent Usage
When the user says:
- "Play my power hour playlist" → extract playlist URI and run
spotify play <uri>
- "Pause the music" → run
spotify pause
- "Next track" → run
spotify next
- "What's playing?" → run
spotify status
Play a specific episode
spotify play https://open.spotify.com/episode/5yJKH11UlF3sS3gcKKaUYx
Get full track info
osascript -e 'tell application "Spotify"
return "Track: " & (name of current track) & "\nArtist: " & (artist of current track) & "\nAlbum: " & (album of current track) & "\nState: " & (player state as string)
end tell'
Installation
The skill is self-contained. To make the spotify command available system-wide:
chmod +x {baseDir}/spotify.sh
sudo ln -sf {baseDir}/spotify.sh /usr/local/bin/spotify
Or add the skill directory to PATH.
Troubleshooting
"Spotify got an error"
- Make sure Spotify desktop app is running
- Spotify must be launched at least once to accept AppleScript commands
Play command does nothing
- Verify the URI format is correct
- Try playing from Spotify app first to ensure the content exists
No audio
- Check system volume and Spotify app volume
- Ensure correct output device is selected in Spotify preferences
Limitations
- Requires Spotify desktop app to be running
- macOS only (uses AppleScript)
- Cannot search or browse library (use web interface or app for discovery)
- Cannot manage playlists (add/remove tracks)
For playlist management and search, use the web interface or consider the spotify-player skill (requires OAuth setup).