#apple #music

app am

A beautiful and feature-packed Apple Music CLI

7 releases

0.5.2 Feb 8, 2024
0.5.1 Nov 17, 2023
0.4.10 Nov 12, 2023
0.4.8 Oct 28, 2023
0.0.0 May 23, 2019

#86 in Command line utilities

Download history 10/week @ 2023-10-30 44/week @ 2023-11-06 39/week @ 2023-11-13 18/week @ 2023-11-20 20/week @ 2023-11-27 8/week @ 2023-12-04 8/week @ 2023-12-11 16/week @ 2023-12-25 6/week @ 2024-01-01 7/week @ 2024-01-15 1/week @ 2024-01-22 23/week @ 2024-01-29 29/week @ 2024-02-05 53/week @ 2024-02-12

113 downloads per month


1.5K SLoC


A beautiful and feature-packed Apple Music CLI!

Written in Rust.


This GitHub repository contains a flake. Add github:ryanccn/am to your flake inputs:

  inputs = {
    # ...other inputs
    am = {
      url = "github:ryanccn/am";
      inputs.nixpkgs.follows = "nixpkgs";

Then, use the overlay from overlays.default and add am to your packages. Alternatively, you can use packages.default directly.


You can install am through cargo from crates.io.

$ cargo install am

Manual download

Download the aarch64 (Apple Silicon) or the x86_64 (Intel) version of the binary.

Dequarantine them with xattr -d com.apple.quarantine <path> and make them executable with chmod +x <path>.


  • Beautiful now playing display
  • Playback controls (play, pause, toggle, resume, back, forward, next, previous)
  • Discord rich presence
  • Launch agent installation
  • Shell completions


am now

am now

am next

am next

am discord

am discord

Discord presence launch agent

Through a macOS launch agent, the Discord rich presence can be made to run in the background as long as you are logged in.

Standard installation

You can install the Discord presence as a launch agent by running am discord install. Note that this depends on the executable/symlink staying in the same place; if it moves to a different place, run the command again.

The am process running in the launch agent will log to ~/Library/Logs/am-discord-rich-presence.log.

You can uninstall the launch agent with am discord uninstall.

Home Manager

This repository's flake also provides a Home Manager module at homeManagerModules.default. This module exposes a service am-discord-rich-presence that you can enable.

  services.am-discord-rich-presence = {
    enable = true;

    # optional
    # logFile = "${config.xdg.cacheHome}/am-discord-rich-presence.log";

Thanks to...




~425K SLoC