A hand-curated catalog of 1,655 artists, a gorgeous full-screen player, and a CLI that can do everything it can. From Carlebach to 8th Day, without opening a single browser tab.
curl -fsSL https://raw.githubusercontent.com/lubabs770/gooseneck/main/install.sh | sh
Linux & macOS (Windows binaries on the releases page) · needs mpv and yt-dlp
gooseneck pulls discographies straight from YouTube Music, plays them through mpv, and keeps going after you close the window.
Albums, singles & EPs, top songs, bios and related artists in about half a second, cached locally so anything you've visited works offline.
Pause, skip, seek, repeat, shuffle, play-next and a queue. Music keeps playing after you quit.
Seed it with an artist and it drifts through related ones, never repeating a track.
Save a track, an album or a whole artist. Downloaded music plays from disk, instantly.
A private local listening log, plus ListenBrainz and Last.fm if you want them.
Add the artists we missed, or follow a friend's list. Everything merges.
On Omarchy it follows your desktop theme live. Everywhere else, pick from 14.
Every action is a command with --json output and tab completion.
These are the exact palettes the TUI ships with. Click one and this whole page repaints, the same way gooseneck does when you press t. (You can press t here too.)
auto theme follows your desktop and repaints the moment you run omarchy theme set.system theme.Chazzanim and chassidish legends, Israeli stars, kumzitz singers, a cappella groups, DJs and kids' music. Refreshed daily, and you can bolt on your own.
Same player, same queue, from any shell, script or window-manager keybinding. Fuzzy names everywhere, --json on every listing.
goose now --format '{title} — {artist}'goose toggle and goose next
goose play "8th Day" lucky # fuzzy album names
goose radio fried # endless radio
goose download "8th Day" --top # save for offline
goose artists | fzf | xargs -I{} goose play {}Start typing to search. enter to open, p to play. The rest is muscle memory.
curl -fsSL https://raw.githubusercontent.com/lubabs770/gooseneck/main/install.sh | sh
then run goose