# How to disable CUPS printer job history on macOS [![macOS stores a copy of everything one prints forever](macos-stores-a-copy-of-everything-one-prints-forever.jpeg)](https://www.youtube.com/watch?v=eAgfeVNKdoo "macOS stores a copy of everything one prints forever") ## Requirements - Computer running macOS Monterey or Ventura ## Setup guide ### Step 1: clear job history > Heads-up: purges `/var/spool/cups`. ```shell $ cancel -a -x ``` ### Step 2: create `/usr/local/sbin` directory ```shell sudo mkdir -p /usr/local/sbin sudo chown ${USER}:admin /usr/local/sbin ``` ### Step 3: create `cups.sh` script ```shell cat << "EOF" > /usr/local/sbin/cups.sh #! /bin/sh set -e if grep -qe '^PreserveJobHistory Off$' /etc/cups/cupsd.conf; then exit 0 fi echo "PreserveJobHistory Off" | sudo tee -a /etc/cups/cupsd.conf sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist EOF ``` ### Step 4: make `cups.sh` executable ```shell chmod +x /usr/local/sbin/cups.sh ``` ### Step 5: create `local.cups.plist` launch daemon ```shell cat << "EOF" | sudo tee /Library/LaunchDaemons/local.cups.plist Label local.cups ProgramArguments /usr/local/sbin/cups.sh RunAtLoad EOF ``` ### Step 6: reboot 👍 --- ## Want things back the way they were before following this guide? No problem! ### Step 1: delete `PreserveJobHistory Off` line from `cupsd.conf` ```shell sudo sed -i "" "/PreserveJobHistory Off/d" /etc/cups/cupsd.conf ``` ### Step 2: delete `cups.sh` script ```shell sudo rm /usr/local/sbin/cups.sh ``` ### Step 3: delete `local.cups.plist` launch daemon ```shell sudo rm /Library/LaunchDaemons/local.cups.plist ``` ### Step 4: reload CUPS ```shell sudo launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist sudo launchctl load /System/Library/LaunchDaemons/org.cups.cupsd.plist ``` ### Step 5: reboot 👍