
If you have Sonos speakers at home and want Claude to control them directly, this is your tool. It handles discovery via SSDP, playback controls, volume adjustment, and speaker grouping all through the local network. The CLI supports Spotify search through SMAPI and manages favorites and queues. One catch: on macOS in direct mode, you'll need to fiddle with Local Network permissions for whatever parent process runs your gateway, whether that's node, Terminal, or VS Code. The troubleshooting section is unusually thorough about network permission errors, which you'll appreciate when SSDP decides to be temperamental. Best suited for home automation scenarios where you want conversational control over your speakers without reaching for the Sonos app.
$ npx -y skills add steipete/clawdis --skill sonoscli --agent claude-codeInstalls into .claude/skills of the current project.
Use sonos to control Sonos speakers on the local network.
sonos discoversonos status --name "Kitchen"sonos play|pause|stop --name "Kitchen"sonos volume set 15 --name "Kitchen"sonos group status|join|unjoin|party|solosonos favorites list|opensonos queue list|play|clearsonos smapi search --service "Spotify" --category tracks "query"--ip <speaker-ip>.SPOTIFY_CLIENT_ID/SECRET.sonos discover - no route to hostError: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)
0.0.0.0: is ephemeral and will change and the netmask may not match exactly eithersendto: no route to host should stay consistentdirect (no Docker sandbox) mode on Mac OS that Settings -> Privacy & Security -> Local Network will need to be enabled for the top-level host parent process of the Gateway
node if running via launchdTerminal if running the gateway directly in the terminalVisual Studio Code if running via terminal in VS Codesandbox (docker container) with network access allowed for that sandboxsonos discover - bind: operation not permittedError: listen udp4 0.0.0.0:0: bind: operation not permittedsonos discover within a Codex CLI session with sandbox enabled and not approving the escalation request)Sponsors