Control Sonos speakers with sonoscli
Use sonoscli to control Sonos speakers on the local network.
Requirements
- The sonos binary is required.
- Spotify Web API search is optional and requires
SPOTIFY_CLIENT_ID/SECRET.
How to use
If SSDP fails, specify --ip <speaker-ip>.
On error Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1), note that the port number after 0.0.0.0: is ephemeral and will change, and the netmask may not match exactly either.
The port number after 0.0.0.0: is ephemeral and will change, and the netmask may not match exactly either.
The sendto: no route to host should stay consistent.
Advise the user that in direct (no Docker sandbox) mode on Mac OS, Settings -> Privacy & Security -> Local Network will need to be enabled for the top-level host parent process of the Gateway.
This means node if running via launchd.
Use Terminal if running the gateway directly in the terminal.
Use Visual Studio Code if running via terminal in VS Code.
An alternative option is to use sandbox (docker container) with network access allowed for that sandbox.
On error Error: listen udp4 0.0.0.0:0: bind: operation not permitted, advise the user that they may be running via a Codex or other sandbox that does not permit network access.
Advise the user that they may be running via a Codex or other sandbox that does not permit network access; this can be replicated by running sonos discover within a Codex CLI session with sandbox enabled and not approving the escalation request.
Install sonoscli with Go from the github.com/steipete/sonoscli/cmd/sonos@latest module, which provides the sonos binary.
Grouping: sonos group status|join|unjoin|party|solo
Favorites: sonos favorites list|open
Queue: sonos queue list|play|clear
Spotify search (via SMAPI): sonos smapi search --service "Spotify" --category tracks "query"
Source: openclaw/openclaw and its contributors. License: MIT.
Copyright (c) 2026 OpenClaw Foundation
Translation and editorial adaptation by ClawCases.
>Resources
>Related Use Cases
Automate the macOS UI with the Peekaboo CLI
Use Peekaboo to inspect the macOS UI, act on the intended target, and verify the result. The examples use v4 syntax; check the current documentation and the installed command's help, and for older versions follow that version's help.
Control Bluesound/NAD Players with the blucli CLI
Use the blu CLI to control Bluesound and NAD players from the command line for discovery, playback, grouping, and volume.
Join a Google Meet call, transcribe it, and send follow-ups
When the user asks the agent to sit in on a Google Meet meeting, this recipe joins the call, transcribes the live captions into a transcript, optionally speaks in realtime, and then summarizes and sends follow-ups.