Solving “Unapproved caller” error on Mac OS X

Tutorial on how to fix the “Unapproved caller” error

Posted by Tobias L. Maier on December 25, 2015

Since a couple of days I get the error “Unapproved caller” on OS X Yosemite, which states that “SecurityAgent may only be invoked by Apple software.”

Some googling told me that the solution is to delete the subfolders of /var/folders. Deleting this folders release solved the problem. But before that some challenges were ahead of me.

After restarting my system, I just saw a gray screen — and the mouse spinning. Nothing else happened.

I started the system in safe mode by holding shift immediately after hearing the startup tone. Did not help.

I started the system in the recovery mode by pressing (and holding) CMD+R at startup. This allowed me to start the Disk Utility to repair the Disk Permissions and the Disk itself. But also this did not better the situation.

Further googling (now on the phone) lead me to the article 10.10 — BOOT HANGS AFTER DELETING /VAR/FOLDERS DIRECTORY. It seems like that OS X fails creating /var/folders and its subdirectories.

So my mission was set: Create the /var/folders manually and restart the system.

To get at least access on the command line, I started my computer in the single user mode. The single user mode starts OS X, a multi-user OS, with a single superuser. This grants you access to the command line and essentially allows you to create the folders. To get in to the single user mode, press CMD+S. (Apple has a nice tutorial on this)

Just entering $ mkdir /var/folders will not be successful, as the disk is in read-only mode. I had to mount it with read-write access. This is actually pretty easy, when you simply read the instructions Apple prints on the screen after welcoming you in the single user mode.

Then I was able to create with the following commands the required directories:

$ mkdir /var/folders
$ mkdir /var/folders/zz

After restart the system was back working and stopped nagging with the “Unapproved caller” error message.