music — anthonymaley/apple-music
     ___              __        __  ___         _
    / _ | ___  ___   / /__     /  |/  /_ _____ (_)___
   / __ |/ _ \/ _ \ / / -_)   / /|_/ / // (_-</ / __/
  /_/ |_/ .__/ .__/_/\__/   /_/  /_/\_,_/___/_/\__/
       /_/  /_/
Claude Skill · CLI · TUI · macOS

Your whole music library, in a real terminal.

An interactive TUI for Apple Music on macOS: Now, Playlists, Speakers, Library. Verified multi-room playback, a venue equalizer, live now-playing. Prefer words? Drive every bit of it from Claude Code.

View on GitHub
$music
music — the interactive TUI
┌──────────────────────────────────────────────────────┐
│  ▶ Everything In Its Right Place — Radiohead         │
│     Kitchen [60] · Living Room [60] · shuffle        │
└──────────────────────────────────────────────────────┘

♫ Or just talk to it

Everything the TUI does, in one breath. Claude composes the right sequence of CLI calls: searching, creating playlists, routing to speakers, sharing.

claude — /music
you ▸
"Switch to my AirPods and turn it down to 30."
"Add the bedroom to the group and turn the kitchen down to 40."
"What's new from Radiohead? Make a playlist of the best ones."
"Take the current track, find records in this style, and shuffle them."
Claude handles the orchestration. No per-action commands to memorize.
Now Playing tab: album art, Up Next queue, playback controls
Now
Album art, live metadata, and the Up Next queue with a control grid for shuffle, order, repeat & Genius.
Library tab: artist drill-down with album art and track list
Library
Browse Artists, Albums, and Songs. Drill into an artist, filter 12″s from LPs, and play an album as its own queue that stops when the record ends.
Speakers tab: AirPlay outputs with per-speaker volume bars
Speakers
Toggle AirPlay outputs, mix per-speaker volume with ←→, and see routes verified against network truth.
Playlists tab: playlist browser with live preview
Playlists
Instant-highlight browsing, type-to-filter, and pin any playlist to Now to replay tracks while playback continues.
▸ play · pause · skip · seek ▸ multi-room routing, verified ▸ library browsing ▸ catalog + library search ▸ playlists & sharing ▸ venue equalizer ▸ discovery & mixes

♫ Four ways to use it

One entry point, four levels of control. Start with the media keys your Mac already has and go all the way to a scriptable API. Pay only the setup you actually need.

Media keys
⏮ ⏯ ⏭
Transport: play/pause, next, previous. Your keyboard already talks to Apple Music from any app, with nothing installed.
setup: nonetokens: none
Natural language
/music
Everything in words. "Play Kid A in the kitchen and living room at 60%." Playback with routing, search, playlists, discovery.
setup: build CLItokens: normal
CLI + TUI
$ music now
Terminal commands and an interactive tabbed shell: Now, Playlists, Speakers, Library. Scriptable and fast, no tokens.
setup: build CLItokens: none
CLI + API
$ music search
Full catalog, library, and discovery via MusicKit: search, playlist CRUD, similar tracks, mixes, heavy rotation.
setup: + Apple Developertokens: none

♫ Under the hood

▸ verified routing
Multi-room, for real
Name speakers and playback routes to exactly those. Each route is then checked against a live session, not AppleScript's claim, and self-heals if it doesn't establish.
▸ library
Your library, browsable
Albums, Artists, and Songs as first-class views. A tier filter splits 12″/EPs from full albums, and album play queues exactly that album, nothing more.
▸ venue eq
A real equalizer
Eight venue presets: Nightclub, Dungeon, Open Air, Concert Hall, Jazz Club, Stadium, Cathedral, Late Night. Created as genuine Music.app presets on first use.
▸ visualizer
On-screen visuals
Toggle Music's built-in visualizer from the CLI or the Speakers scene. The animated Cmd-T graphics, on demand.
▸ search
Catalog & library
Numbered results you can replay by index: music play 3. Multi-type, refine by artist or album, or search your own library.
▸ playlists
Create, edit, share
Build from search indices, add or remove tracks, share to iMessage or email. Temp playlists clean up after themselves.
▸ discovery
Find the next one
Similar tracks, playlist-vibe suggestions, new releases from the current artist, blended mixes, recents, and heavy rotation.
▸ status line
Now playing, in your prompt
The current track sits in Claude Code's status line while you work. Glance down, not away.

♫ Install in three steps

01Add the plugin
# marketplace
$ /plugin marketplace add
  anthonymaley/apple-music
$ /plugin install
  music@apple-music-marketplace
02Build the CLI
# one command, no account
$ cd ~/.claude/plugins/cache/
  apple-music-marketplace/music/*/
$ scripts/install.sh
03Optional: API
# for search, playlists, discovery
$ music auth setup
$ music auth
Needs an Apple Developer account ($99/yr).

Step 2 unlocks playback, multi-room routing, volume, the TUI, and the status line. No Apple Developer account required. Requires macOS, Apple Music, and Swift 5.9+ (ships with Xcode).

♫ What needs auth?

Feature
No auth
+ Dev token
+ User token
Play, pause, skip, stop, seek, shuffle, repeat
Speakers, volume, now playing, love/unlove
Catalog search
Library search + Library tab
Add to library
Playlist CRUD via API
Similar, suggestions, new releases, mix
Recently played, heavy rotation
     ___              __        __  ___         _
    / _ | ___  ___   / /__     /  |/  /_ _____ (_)___
   / __ |/ _ \/ _ \ / / -_)   / /|_/ / // (_-</ / __/
  /_/ |_/ .__/ .__/_/\__/   /_/  /_/\_,_/___/_/\__/
       /_/  /_/

Bring the terminal to your speakers.

Free and open source, MIT licensed. Build it once. The rest is just talking.

View on GitHub