GitHub - ado11231/addsong: A small Bash CLI that downloads unreleased music and drops it straight into your Apple Music library.
addsong
[](https://github.com/ado11231/addsong#addsong) 
**Paste a link, and the song shows up in Apple Music automatically.**
`addsong` a song name or a YouTube link. It downloads the track, adds the **title, artist, and cover art**, and drops it into Apple Music. No dragging files around making downloading unofficial music seamless.
addsong "songname" addsong "https://www.youtube.com/watch?v=..."
Installation
[](https://github.com/ado11231/addsong#installation)
macOS
[](https://github.com/ado11231/addsong#macos)
brew install ado11231/tap/addsong
Linux
[](https://github.com/ado11231/addsong#linux)
curl -fsSL https://ado11231.github.io/addsong/install.sh | bash
Windows
[](https://github.com/ado11231/addsong#windows)
Paste it into **PowerShell**. When it finishes, open a new terminal and run `addsong` from anywhere — PowerShell, CMD, or any shell:
irm https://ado11231.github.io/addsong/install.ps1 | iex
Check version to see if installation worked.
addsong --version
Your First Song
[](https://github.com/ado11231/addsong#your-first-song)
addsong "songname"
`addsong` shows what it found so you can fix mistakes before it saves:
``` Review track ♪ Artist: Artist Name
[Enter] Add · [E] Edit · [S] Skip ❯ ```
Press **Enter** and the song lands in Apple Music a second later.
Commands
[](https://github.com/ado11231/addsong#commands) | Command | What it does | | --- | --- | | `addsong "name"` | Add the top search result | | `addsong "<link>"` | Add a specific video | | `addsong --results 3 "name"` | Add the top 3 search results | | `addsong --playlist "<link>"` | Add a whole playlist | | `addsong --from list.txt` | Add every link in a file | | `addsong subscribe "<link>"` | Follow a playlist | | `addsong sync` | Add new songs from playlists you follow | | `addsong list` | Show playlists you follow | | `addsong unsubscribe "<link>"` | Stop following a playlist | | `addsong forget` | Forget everything added (so it can be re-added) |
Flags
[](https://github.com/ado11231/addsong#flags) | Flag | What it does | | --- | --- | | `-y` | Don't ask, just add it | | `--review` | Always pause to fix the title/artist first | | `--reimport` | Add a song again even if you already have it | | `--dry-run` | Show what would happen, without downloading | | `--format FMT` | Output format: `m4a` (default), `mp3`, `flac`, `opus`… | | `--quality N` | Audio quality `0`-`10` (`0` = best, the default) | | `--notify` | Pop a desktop notification as each song imports | | `--quiet` / `--verbose` | Show less / more output | | `--help` | Full list of commands and options |
Set environment variables like `ADDSONG_WATCH_DIR` for permenant defaults.
run `addsong --help` for the full list.
Download Location
[](https://github.com/ado11231/addsong#download-location) On macOS and Windows they go straight into Apple Music; on Linux they land in `~/Music/addsong/`. Point them elsewhere with `ADDSONG_WATCH_DIR=/your/folder`.
Common Errors
[](https://github.com/ado11231/addsong#common-errors)
- `command not found` — reopen your terminal; if it persists, re-run Install.
- **Nothing shows up** — open the Apple Music app and keep it open while adding (macOS/Windows).
- **A download failed** — update `yt-dlp`, then retry with `--verbose` to see why.