Sonos CLI

SkillDev tools

This is a skill that gives an AI agent the sonos command-line tool for controlling Sonos speakers on the local network. The agent can find speakers, check what is playing, start and stop playback, set volume, and group rooms together. It also covers browsing favorites, managing the queue, and searching Spotify, plus guidance for common network errors.

Then ask your AI: use the Sonos CLI skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Make sure the sonos command-line tool is installed and available on your PATH.

What your AI can do with it

  • Discover Sonos speakers on the local network with sonos discover
  • Check playback status of a named speaker with sonos status
  • Play, pause, or stop a speaker with sonos play, pause, or stop
  • Set volume on a speaker with sonos volume set
  • Group rooms with sonos group join, unjoin, party, or solo
  • Browse favorites, manage the queue, and search Spotify via SMAPI

Getting started

  1. Make sure the sonos command-line tool is installed and available on your PATH.
  2. Confirm the machine running the agent is on the same local network as the Sonos speakers.
  3. If discovery fails, find the speaker IP address and pass it with the --ip option.
  4. For Spotify search through the Web API, set the SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET environment variables.
  5. Run sonos discover to list speakers, then use commands like sonos status or sonos play with a speaker name.

What this skill tells your AI

The instructions your AI receives, as published by spinabot/brigade in skills/sonoscli/SKILL.md and read by Ahel’s review.

Use sonos to control Sonos speakers on the local network.

Quick start

  • sonos discover
  • sonos status --name "Kitchen"
  • sonos play|pause|stop --name "Kitchen"
  • sonos volume set 15 --name "Kitchen"

Common tasks

  • 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"

Notes

  • If SSDP fails, specify --ip <speaker-ip>.
  • Spotify Web API search is optional and requires SPOTIFY_CLIENT_ID/SECRET.
  • If there is an error, check the troubleshooting section and offer advice if there is a decent match.

Troubleshooting

sonos discover - no route to host

  • 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 sendto: no route to host should stay consistent
  • Advise the user that in direct (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 launchd
    • Terminal if running the gateway directly in the terminal
    • 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

sonos discover - bind: operation not permitted

  • On error Error: listen udp4 0.0.0.0:0: bind: operation not permitted
  • Advise the user that they may be running via a the agent or other sandbox that does not permit network access (this can be replicated by running sonos discover within a the agent CLI session with sandbox enabled and not approving the escalation request)

Signals

GitHub stars
11k
Forks
70
Last commit
Oct 2026

Questions

What does the skill do?
It gives the agent the sonos command-line tool to find Sonos speakers on the local network and control them: play, pause, stop, set volume, group rooms, browse favorites, manage the queue, and search Spotify.
What happens if sonos discover fails with no route to host?
On macOS in direct mode, enable Local Network permission for the top-level host parent process, such as node under launchd, Terminal, or Visual Studio Code. Alternatively, use a sandbox with network access allowed.
Advanced
Item type
skill
Key
sonoscli-spinabot
Source
github.com/spinabot/brigade