Keeps Asking Me to Install

I install it just fine, then disable SIP, then reboot and all is good. When I reboot again and enable SIP, TotalFinder will not run and it says I need to disable SIP to install…

Please run this script and paste here your output:

#!/usr/bin/env bash

set -e -o pipefail

SEPARATOR=""

LIBRARY_OSAX=/Library/ScriptingAdditions/TotalFinder.osax
SYSTEM_OSAX=/System/Library/ScriptingAdditions/TotalFinder.osax
SIP_OSAX=/System/Library/ScriptingAdditions/TotalFinderSIP.osax
TF_APP=/Applications/TotalFinder.app

# - helpers -------------------------------------------------------------------------------------------------------------

read_osax_info_key() {
  local info_plist_path="$1/Contents/Info"
  defaults read "$info_plist_path" "$2"
}

check_bundle() {
  local osax_path="$1"
  if [[ ! -d "$osax_path" ]]; then
    echo "$osax_path not present"
  else
    echo "$osax_path $(read_osax_info_key $osax_path CFBundleIdentifier) $(read_osax_info_key $osax_path CFBundleVersion)" 
  fi
}

# - entry point ---------------------------------------------------------------------------------------------------------

csrutil status
echo "$SEPARATOR"

check_bundle "$LIBRARY_OSAX"
check_bundle "$SYSTEM_OSAX"
check_bundle "$SIP_OSAX"

check_bundle "$TF_APP"

****I’m currently using SIP disabled in order to use TotalFinder.

I’m sorry you didn’t run the whole command properly.

The script output should be something like:

System Integrity Protection status: enabled.

/Library/ScriptingAdditions/TotalFinder.osax com.binaryage.totalfinder.injector 1.9.3
/System/Library/ScriptingAdditions/TotalFinder.osax not present
/System/Library/ScriptingAdditions/TotalFinderSIP.osax com.binaryage.totalfinder.sipinjector 1.0
/Applications/TotalFinder.app com.binaryage.totalfinder.agent 1.9.3

Did you really copy & paste whole

curl -sL https://gist.github.com/darwin/f2f5305fbfafb9c28975e51908aa9900/raw/totalfinder-diagnostics.sh | bash

into the terminal prompt?

How about now?

/Library/ScriptingAdditions/TotalFinder.osax com.binaryage.totalfinder.injector 1.9.5
/System/Library/ScriptingAdditions/TotalFinder.osax not present
/System/Library/ScriptingAdditions/TotalFinderSIP.osax not present
/Applications/TotalFinder.app com.binaryage.totalfinder.agent 1.9.5

Ok, so your problem is that you didn’t properly install TotalFinder’s system component while SIP was disabled.

You must disable SIP, return to your main OS, TotalFinder should show you this dialog:
https://totalfinder.binaryage.com/installation#mark-sip-wizard-03-png

where you must click “Install the component”

and then you can go back to recovery OS and re-enable SIP again:
https://totalfinder.binaryage.com/installation#mark-as-your-last-step-you-should-re-enable-sip-please

I did exactly that… I installed. I then get the dialog that I need to reboot and disable SIP. I did that. Then I reboot back into the OS and it gives me a dialog to “install component”, I say yes, then it asks if I want to reboot and re-enable SIP, I say yes and do that in recovery-terminal, then reboot.

I still get this problem.

Hmm. This is really strange. So something prevented TotalFinder from installing this file:

/System/Library/ScriptingAdditions/TotalFinderSIP.osax

Can you run the above script again with disabled SIP after you clicked “Install the component”?

Just did it and here you go (haven’t rebooted yet, but TotalFinder is running):

System Integrity Protection status: disabled.

/Library/ScriptingAdditions/TotalFinder.osax com.binaryage.totalfinder.injector 1.9.5
/System/Library/ScriptingAdditions/TotalFinder.osax not present
/System/Library/ScriptingAdditions/TotalFinderSIP.osax not present
/Applications/TotalFinder.app com.binaryage.totalfinder.agent 1.9.5

Ok, probably for some reason the system component installation script failed. The error is probably logged somewhere but it would be difficult to search for it.

Let’s install the component manually.

Please run following command in Terminal.app when you have SIP disabled:

sudo /Applications/TotalFinder.app/Contents/Resources/install-totalfinder-sip-osax.sh /Applications/TotalFinder.app/Contents/Resources/TotalFinderSIP.osax

It will ask for admin password. This should print some error or silently finish with success. Then please run the diagnostic script again. You should see this in the output:

/System/Library/ScriptingAdditions/TotalFinderSIP.osax com.binaryage.totalfinder.sipinjector 1.0

By the way the install script should contain this:

> cat /Applications/TotalFinder.app/Contents/Resources/install-totalfinder-sip-osax.sh                                                                                                                                                                                                                          
#!/bin/bash

SOURCE_OSAX="$1"

if [ ! -d "$SOURCE_OSAX" ]; then
  (>&2 echo "error: input OSAX path not a directory: $SOURCE_OSAX")
  exit 90
fi

rm -rf /System/Library/ScriptingAdditions/TotalFinder*.osax
cp -R "$SOURCE_OSAX" /System/Library/ScriptingAdditions/TotalFinderSIP.osax
chown root:wheel /System/Library/ScriptingAdditions/TotalFinder*.osax
chmod 755 /System/Library/ScriptingAdditions/TotalFinder*.osax

My guess is that your system has probably misconfigured some commands/paths this script happens to be using.

This is what I get:

sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Boom!

Your OS is seriously misconfigured. “sudo” must work. It looks like /etc/sudoers does not exist or it has wrong permissions (or /etc has wrong permissions).

I searched a bit and you are not alone with this issue.

This post from Joshua Brown looks like a reasonable solution, some other people reported that it helped them solve the issue:
https://discussions.apple.com/message/22172184#22172184

Good luck!

I appreciate the help! However, I ran the instructions from Joshua on that link you gave me and I’m still having the permissions problem… I actually just erased my computer a couple days ago and started from scratch so I don’t know why I’m having this issue…

It is very unlikely that you would have this issue with newly installed/reinstalled machine. My theory is that some app or utility set wrong permissions on /etc or /etc/sudoers or deleted /etc/sudoers.

Maybe you should try to reinstall your macOS. It should fix the issue. But please do proper backups before you do that.

Just reinstalled from recovery partition and everything is working now. Thanks again.

Great! I’m glad you got it working.

The best utility on Mac by far. I was having this exact same issue on my reinstalled Mac mini after a big hard drive update and I found the easy bit of the link cured it immediately

This is the extract

"Or, you could go into Users & Groups in System Preferences, click Login Options, and change Display login window as: Name and password. Go into /System/Library/CoreServices and open Directory Utility. Click the lock in the bottom left of the screen and enter your password. In the Edit menu, select Enable Root User and enter a password.

Log out. When you get to the login screen, enter “root” (no quotes) as the user and the password you just selected. Once everything has loaded, open the Terminal (located in /Applications/Utilities, or just press Command-Shift-U to open the Utilities window) and type:

chmod g+x /

Note the space between the x and the slash.

Logout. Log back in as your usual user. Everything should be working now.

Go back into /System/Library/CoreServices and open the Directory Utility again. In the Edit menu, select Disable Root User. Close the program, and you’re done. " [Joshua Brown]

I hope I’m allowed to do that but that message was getting so frustrating and it has saved me a couple of days redoing everything on to (probably) find myself back here at the end!

Cheers, Jon