Your music.
Your terminal.

Search music, download audio, manage your queue, and play music — all from the keyboard, inside your terminal. No browser. No bloat. Just vibes.

one line, zero config
$curl -fsSL https://anas1412.github.io/ytmgo/install.sh | bash
or view on GitHub →
ytmgo — ~/music
ytmgo TUI screenshot

Everything you need.
Nothing you don't.

Search, download, queue, and play — all from your keyboard. No browser, no bloat, no nonsense.

Search from the terminal
No browser, no tabs. Search, pick, and queue — all without leaving your terminal.
Download in one key
Press x on any track and it downloads. Queue-friendly, one at a time, with progress feedback.
Favorites page
f to bookmark. Dedicated page to browse them all. Heart shows on every favorited track.
Full mouse support
Click tabs, click panels, click the progress bar to seek. Most terminal apps can't do this.
Discord Rich Presence
Show what you're listening to — track, artist, play status — live on your Discord profile.
Static binary, no bloat
Pure Go, no Electron, no browser engine. Starts instantly, sips RAM, gets out of your way.

Every key, a superpower.

Keyboard-driven with optional mouse support. Click tabs, list items, the progress bar, and controls.

Tab
Cycle focus: search → results → queue → search
Navigate lists
jk
Vim-style navigation
Enter
Search: add to queue / Queue: play
Space
Play / Pause
n
Next track
p
Previous track
hCtrl+B
Seek backward 5s
lCtrl+F
Seek forward 5s
+-
Volume up / down
dDel
Remove from queue
D
Clear entire queue
f
Toggle favorite on selected track
s
Toggle shuffle
r
Cycle repeat: OFF → ONE → ALL
x
Download selected track
R
Refresh recommendations
U
Check for updates / confirm install
o
Open download directory
1234
Switch page: Stream / Favorites / Library / Settings
Ctrl+↑Ctrl+↓
Move item in queue
?
Show keyboard shortcuts
Esc
Cancel / back
qCtrl+C
Quit

Engineered for reliability.

Go + Bubble Tea (Elm architecture). Mutex-guarded state, yt-dlp download pipeline, real-time mpv IPC polling, embedded SQLite via modernc.org/sqlite (zero CGO).

mpv IPC
JSON-based FIFO polling for real-time position, duration, and playback-state events
Search Engine
Music catalog search via community API proxy — type-ahead, recommendations, and track metadata
yt-dlp
Streaming URL resolution and audio downloads via yt-dlp search on YouTube Music
Bubble Tea
Elm-architecture TUI framework: Model-View-Update loop with composable tea.Cmd messages
SQLite
modernc.org/sqlite — pure Go, no CGO. WAL mode, busy_timeout, immediate locking for crash safety

Ready to take control?

One line. Installs the binary and mpv. No browser, no Electron, no nonsense.