While you wait·terminal · desktop·MIT
adlib-lyrics
Word-by-word lyrics of what plays in Music or Spotify, above the prompt. macOS only.

adlib-lyrics shows the lyrics of whatever is playing in Apple Music or Spotify right above the Claude Code prompt, synced to the song and lit up word by word, with a small pixel mascot dancing beside them. It works on macOS only. Nothing goes to the model, so it costs zero tokens.
The author, bixxter, makes Adlib, a Mac app that lays synced lyrics over the desktop, and the mascot is Adlib’s: in the app it dances only when a song has no lyrics, here it dances all the time. You do not need the app. The mod finds the song and its lyrics on its own. If you want Spotify playback controls rather than lyrics, see the spotify mod.
What it does
- Three lines or one. The default layout shows the previous line dimmed, the current line with the words already sung in bold, and the next line dimmed.
linekeeps only the current line.offdrops the lyrics and leaves the mascot. - A dancing mascot. Adlib’s 16 by 12 pixel sprite, drawn in braille dots as a block 8 characters wide and 3 rows tall. It swaps between two poses at a fixed pace of about 120 beats a minute, as the app does, not at the song’s real tempo.
- A line for every song. While lyrics load and between sung lines, the band shows the title and artist. When there is nothing to sing, the mascot says why: an instrumental, lyrics not found, or no connection.
- Two settings in
/config(or/plugin configure adlib-lyrics@adlib-lyrics): Lyrics (stack,lineoroff) and Dancing mascot (on or off). A change applies at once. With both off, the mod draws nothing and stops checking what plays.
Install
Needs Claude Code 2.1.287 or later, plus macOS and Apple Music or Spotify.
claude plugin marketplace add bixxter/adlib-lyrics
claude plugin install adlib-lyrics@adlib-lyrics
Start claude (or run /reload-plugins in an open session) and play a song. The first time, macOS asks whether your terminal may control Music or Spotify: allow it, or nothing appears. If you refuse, a toast points you to System Settings › Privacy & Security › Automation to change it.
How it works
On session.start the mod launches one long-running osascript process, a JavaScript for Automation script that asks Spotify, then Music, what is playing: title, artist, length and playback position. It checks once a second while a song plays and every 3 seconds otherwise, and it never opens either app. Between checks the mod advances the song clock itself and redraws the band above the prompt every 250 ms.
The lyrics come from LRCLIB, a free database of synced lyrics kept by its community. Each time the song changes, the mod sends one search to lrclib.net with the title and artist, and nothing else leaves your Mac. It keeps the synced version whose length is within five seconds of the track playing. A song with no artist, such as radio or an ad, is never looked up, so it cannot pick up a stranger’s lyrics.
LRCLIB times lines, not words. The word-by-word highlight is the mod’s estimate: it spreads each line’s words by their length over 90 percent of the gap to the next line, six seconds at most. The highlight follows the line’s timing, not the singer.
The only thing it stores, in Claude Code’s plugin store on your machine, is a flag for its one-time note: the first time it finds lyrics, a toast credits LRCLIB and points to the Adlib app, and it never shows again. It reads no prompts, tool calls or files. The code is MIT; the README says the Adlib name and mascot artwork are outside that license.
Limitations
- macOS only. Without
osascript, the band never appears. - The mascot is drawn as a terminal raster. The author notes that the Desktop app’s Code tab gets the lyrics alone.
- If Spotify and Music both play, Spotify wins.
- Songs LRCLIB lacks, or whose synced version differs in length by more than five seconds, get the mascot’s “couldn’t find” caption instead of lyrics.
More mods
The whole directory →player
Apple Music remote above the prompt: track, progress bar and click buttons. macOS only.
cat-spinner
A pixel-art cat above the spinner that walks, plays, sits to think and reacts to tools.
cc-buddy
The retired /buddy companion back above the prompt, leveling up from commits and tests.
persona-panel
A maid persona and a pixel portrait panel whose expression Claude changes as it works.


