___ ___ ________ ___ ___ ________ ___ ___ |\ \ / /|\ __ \|\ \|\ \|\ ____\|\ \ |\ \ \ \ \/ / | \ \|\ \ \ \\\ \ \ \___|\ \ \ \ \ \ \ \ / / \ \ \\\ \ \ \\\ \ \ \ \ \ \ \ \ \ \/ / / \ \ \\\ \ \ \\\ \ \ \____\ \ \____\ \ \ __/ / / \ \_______\ \_______\ \_______\ \_______\ \__\ |\____/ / \|_______|\|_______|\|_______|\|_______|\|__| \|____|/
A terminal client for YouTube Music.
Search and play anything, straight from the shell.
$ curl -fsSL https://raw.githubusercontent.com/merthanmerter/youcli/main/install.sh | sh
Windows, or grab the binary yourself
PS> irm https://raw.githubusercontent.com/merthanmerter/youcli/main/install.ps1 | iex
Installs to %LOCALAPPDATA%\Programs\youcli, no admin rights needed.
Prebuilt binaries for Linux, macOS and Windows — each with a
.sha256 beside it — are on
the latest release.
Both installers verify the checksum before installing anything.
Click the terminal and type. help lists what it knows —
try youcli, youcli search daft punk or youcli doctor.
It is a simulation of the real interface: nothing runs, nothing plays,
nothing leaves your browser.
No account
Search and play anything public on YouTube Music. No sign-in, no cookies, no credentials of any kind.
One binary
Rust, statically linked. No mpv, no ffmpeg, no child media player — decoding and playback happen in-process.
Your library stays yours
Favourites, playlists and history live in one JSON file under your OS data directory. It never leaves the machine.
Explore
Top songs, mood and genre chips, and what's trending — press enter on any of it for a shuffled queue.
Start a mix
Press r on any track and youcli builds a radio queue from it, the same as YouTube Music's radio.
A live spectrum
The player bar draws a real analyser, a bank of bandpass filters at ISO octave centre frequencies.
Fast after the first
Ranged parallel downloads dodge per-connection throttling, and the next track is prepared while the current one plays.
Keys
Everything is reachable with Tab. The label at the bottom left always names the focused pane.
| Tab / ⇧Tab | Cycle focus: menu → search → tabs → list → transport → volume |
| hjkl | Move inside the focused pane |
| enter | Play a track, open a playlist, press a control |
| / | Search |
| space | Play / pause |
| n | Next track |
| r | Start a mix from the highlighted track |
| f | Add or remove from Favourites |
| a | Add to a playlist |
| + - m | Volume up, down, mute |
| ? | Every key binding |
| q | Quit |
There are a few subcommands for scripting and diagnostics you never need:
youcli update, youcli uninstall, youcli search <query>,
youcli doctor, youcli update-yt-dlp.
Legal
Not affiliated with YouTube or Google. youcli is an independent, unofficial project. It is not affiliated with, endorsed by, sponsored by or in any way officially connected to YouTube, Google LLC, or Alphabet Inc. “YouTube”, “YouTube Music” and related marks are trademarks of Google LLC, used here only to describe what the software interoperates with.
Terms of Service. Accessing YouTube content the way youcli does is contrary to YouTube's Terms of Service. The project is published for educational purposes — to demonstrate an audio pipeline in Rust — and you alone are responsible for how you use it and for complying with the terms and the laws that apply to you.
No content, no circumvention. Neither this website nor youcli hosts, stores, caches or redistributes any music, video or other copyrighted material. Nothing is downloaded to keep; stream URLs are short-lived and resolved at playback time. youcli contains no DRM circumvention and handles no credentials or account data. Rights in all content remain with their owners.
Piping to a shell runs remote code. The install command above executes a
script from GitHub on your machine. That is normal for this kind of installer and it is also
worth exactly as much trust as you place in the repository — so
read install.sh
before you run it, or download a release binary and verify its published
.sha256 yourself.
No warranty. youcli is released under the MIT License and is provided “as is”, without warranty of any kind, express or implied. In no event shall the author be liable for any claim, damages or other liability arising from the software or its use.
The terminal on this page is a simulation. It renders a scripted recreation of the real interface. No command is executed, no network request is made, no audio is played, and nothing you type is collected or sent anywhere.
Rights holder with a concern, or spotted something that should not be here? Open an issue at github.com/merthanmerter/youcli/issues and it will be addressed.