Tidal Playlist
Manage Tidal playlists: list, create, rename, delete, and add or remove content.
Commands
playlist list
- Usage:
tidal-cli --json playlist list - Arguments: none
- Output:
[{id, name, num_tracks}]
playlist create
- Usage:
tidal-cli --json playlist create --name "<name>" [--desc "<description>"] - Arguments:
--name(required),--desc(optional) - Output:
{id, name, description}
playlist rename
- Usage:
tidal-cli --json playlist rename --playlist-id <id> --name "<new_name>" - Arguments:
--playlist-id(required),--name(required) - Output:
{status, id, old_name, new_name}
playlist delete
- Usage:
tidal-cli --json playlist delete --playlist-id <id> - Arguments:
--playlist-id(required) - Output:
{status, id, name}
playlist add-album
- Usage:
tidal-cli --json playlist add-album --playlist-id <id> --album-id <id> - Arguments:
--playlist-id(required),--album-id(required) - Output:
{status, tracks_added, album, playlist}
playlist add-track
- Usage:
tidal-cli --json playlist add-track --playlist-id <id> --track-id <id> - Arguments:
--playlist-id(required),--track-id(required) - Output:
{status, track, playlist}
playlist remove-track
- Usage:
tidal-cli --json playlist remove-track --playlist-id <id> --track-id <id> - Arguments:
--playlist-id(required),--track-id(required) - Output:
{status, track, playlist}
Instructions
Parse
$ARGUMENTSto determine the operation (first word) and its parameters:list— no additional arguments neededcreate— extract--nameand optionally--descfrom argumentsrename— extract--playlist-idand--namedelete— extract--playlist-idadd-album— extract--playlist-idand--album-idadd-track— extract--playlist-idand--track-idremove-track— extract--playlist-idand--track-id- If no operation given, show usage:
/tidal-playlist <list|create|rename|delete|add-album|add-track|remove-track> [options]
Run the appropriate command and parse JSON output:
- list → format as table with columns
ID,Name,Tracks - create → confirm: "Playlist created: (ID:
<id>)" - rename → confirm: "Playlist renamed: → "
- delete → confirm: "Playlist (ID:
<id>) deleted." - add-album → confirm: " track(s) from album added to playlist ."
- add-track → confirm: "Track added to playlist ."
- remove-track → confirm: "Track removed from playlist ."
- list → format as table with columns
If required arguments are missing for an operation, show a usage hint specific to that operation.
Error Handling
- If exit code is non-zero, read stderr:
"Error: Not authenticated"→ "You need to authenticate first. Run/tidal-authto log in.""Error: Playlist not found"→ "Playlist not found (ID:<id>). Use/tidal-playlist listto see your playlists.""Error: Track not found in playlist"→ "Track (ID:<id>) is not in this playlist.""Error: Playlist name cannot be empty"→ "Please provide a non-empty playlist name.""Error: Unable to connect to Tidal"→ "Network error: unable to reach Tidal. Check your internet connection."- Any other error → display the raw error message with label "Error:"