Skip to content

cupsadmin 1.0.1

Choose a tag to compare

@kfattic kfattic released this 16 Sep 18:01
· 15 commits to main since this release

First public release of cupsadmin, a command-line replacement for the CUPS web interface Apple removed in macOS 27.

This package contains the CLI only. CUPS Admin.app is in the v1.1.0 package.

What's in the package

cupsadmin-1.0.1.pkg installs the CLI at /usr/local/bin/cupsadmin. Universal (Apple silicon and Intel), macOS 14 or later, signed with a Developer ID and notarized.

cupsadmin printers               # every queue: state, reasons, accepting, shared, device URI
cupsadmin printer <queue>        # one queue in detail (--all for every IPP attribute)
cupsadmin jobs [queue]           # active jobs (--completed, --all-jobs)
cupsadmin cancel <job-id>        # cancel one job (123 or Queue-123)
cupsadmin options <queue>        # PPD options and IPP *-default values, like lpoptions -l
cupsadmin add <queue> -v <uri> [-m model | -P ppd] [-D desc] [-L location] [--shared] [-o k=v ...]
cupsadmin set <queue> -o k=v ... # change queue defaults, then read them back
  • Reads go straight to cupsd over IPP on the /private/var/run/cupsd socket, so they work even when cupsd is idle and port 631 is closed.
  • add and set read every setting back after lpadmin runs and exit non-zero with NOT APPLIED when something didn't take (for example a misspelled option that lpadmin silently accepts).
  • New queues default to not shared; pass --shared to opt in.
  • Every run prints started, one OK:/ERROR: status line and finished on stderr, so table output pipes cleanly.

Installing

The PKG is payload-free: a postinstall script copies the binary and creates /usr/local/bin only if it's missing, so it never changes the ownership of an existing /usr/local/bin (Homebrew on Intel Macs is safe). For Munki, use an installs array pointing at /usr/local/bin/cupsadmin.

SHA-256: 3fdd4bcc490933154666711b51adf8b36ba161788d97fec0645ff79fd2cdde0c