Warning
This is a fork of ncspot, an ncurses Spotify client.
AI-Assisted Development: This project is being developed with heavy AI involvement. Code quality and functionality may vary. Use at your own risk.
macOS support mainly: I'm forking this for my own personal use, based mostly on macOS. While best effort is intended, no guarantee of upstream fixes or other OS support is provided.
ncytm is an ncurses YouTube Music client written in Rust. It is a fork of ncspot, adapted to work with YouTube Music instead of Spotify using cookie-based authentication (copy cookies from your browser).
ncytm aims to provide a simple and resource-friendly terminal interface for YouTube Music, inspired by ncurses MPD clients like ncmpc.
- Play tracks, albums, and playlists from YouTube Music
- Access your YouTube Music library (liked songs, playlists, albums, artists)
- Search for tracks, albums, artists, and playlists
- Small resource footprint
- Vim keybindings out of the box
- Cookie-based authentication (copy from browser)
- macOS media keys and Now Playing integration
- Smart previous track behavior: restarts current track if more than 15% played, otherwise goes to previous track
brew tap bogdan-calapod/tap
brew install ncytmBuilding ncytm requires a working Rust installation.
git clone https://github.com/bogdan-calapod/ncytm.git
cd ncytm
cargo build --releaseThe binary will be at target/release/ncytm.
ncytm uses cookie-based authentication. The easiest way to authenticate is using the built-in browser authentication:
ncytm auth --browserThis will open your default browser (Edge) where you can log in to YouTube Music. Once authenticated, cookies are automatically extracted and saved.
Options:
--browser-type <TYPE>- Use a different browser:chrome,edge, orchromium(default:edge)--no-system-profile- Use a separate ncytm browser profile instead of your system profile--timeout <SECONDS>- Timeout for authentication (default: 600 seconds)
Examples:
# Use Chrome instead of Edge
ncytm auth --browser --browser-type chrome
# Check if your current cookies are still valid
ncytm auth --checkAlternatively, you can manually export cookies from your browser:
- Install a browser extension to export cookies (e.g., "Get cookies.txt LOCALLY" for Chrome/Firefox)
- Go to music.youtube.com and sign in
- Export cookies in Netscape format
- Save the file to
~/.config/ncytm/cookies.txt
The following cookies are required:
SAPISIDor__Secure-3PAPISIDHSIDSSIDAPISIDSIDLOGIN_INFO
Configuration files are stored in ~/.config/ncytm/:
cookies.txt- Your YouTube Music cookies (required)config.toml- Application configuration (optional)
- yt-dlp: Required for audio playback. Install via
brew install yt-dlporpip install yt-dlp
This project is a fork of ncspot by hrkfdn. Many thanks to the original authors and contributors.
Same license as the original ncspot project - see LICENSE file.